問題

2012-03-23 21 views
10

私は、これはウォークスルー使用して、私のアプリにGoogleアナリティクスを実装して実行すると: http://code.google.com/mobile/articles/analytics_end_to_end.html問題

をlibGoogleAnalytics.a CFNetworkはとlibsqlite3.0.dylibフレームワークを追加した後、そして追加私AppDelegate.m

にGANTracker.hは、私はこのエラーを取得する:

Undefined symbols for architecture armv7: 
"_OBJC_CLASS_$_GANTracker", referenced from: 
objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

やアプリでもコンパイルされません。私のアプリはiOS 5.0を目指しています

私はかなり詰まっています。アドバイスやワークスルーは非常に高く評価されます。

+0

必要なクラスがすべてターゲットに追加されていることを確認してください – aryaxt

+0

解決方法はありますか?私もこの問題に取り組んでいます。 – Etch

答えて

29

私は実際にコメントを投稿して答えを見つけました。

[プロジェクトナビゲータ]でプロジェクトをクリックし、[対象]の下のプロジェクトをクリックします。その後、 "Build Phases"をクリックする必要があります。 libsqlite3.0dylibCFNetwork.frameworkが "Link Binary WIth Libraries"に追加されていることを確認する必要があります。私はこれを持っていましたが、私は同じ分野にlibGoogleAnalytics.aを追加する必要があったのです。それが私の問題を解決しました。

+2

それを釘付け!助けてくれてありがとう! – dvdfrddsgn

+1

パーフェクト。働いた。ありがとう。 – Ryan

+2

GoogleのEasyTrackerの例を使用しているときも同じ問題がありました。ありがとうございました! –

1

私はCordovaベースのXCodeプロジェクトに取り組んでいました。リンクエラーの意味を理解する前に、これらのばかげたエラーに悩まされました。だからここにあなたが何をしている..

まず、https://github.com/phonegap/phonegap-plugins/tree/master/iOS/GoogleAnalyticsの手順に従ってください。次のあなたがビルドフェーズを介して連結されたプロジェクト(あなたは、プロジェクト名をクリックすると...それを把握することを得る)

  1. GANTracker.h
  2. をlibsqlite3.0.dylibの下に、次のファイルを持っていることを確認してください
  3. libGoogleAnalytics.a
  4. CFNetwork.framework

はまた、あなたのPluginsフォルダには2つのファイル、GoogleAnalyticsPlugin.hとGoogleAnalyticsPlugin.mを持っていることを確認してください。

あなたのバグの解決に役立たない場合は、それから神があなたを助けます。祈りを始める。あるいは、バグスプレーを試してみてください。それが動作するかどうかを確認します。

2

@Etchの回答に追加するだけです。

Xcode 4.5ではarmv6が削除され、armv7のみがサポートされています。したがって、あなたのlibは古いバージョンかもしれませんし、バージョン1.5.1以降をダウンロードする必要があります。 Download here

問題:あなたの目標の下でビルドフェーズの下にあなたのリンクバイナリとライブラリでhttp://code.google.com/p/analytics-issues/issues/detail?id=232

0

あなたはそれを追加した場合は、 libGoogleAnalytics_debug.aを削除ていることを確認します。 AdSupport.frameworkともちろんlibGoogleAnalyticsServices.aがあることを確認してください。

3

は、私の場合、私は同じ問題を持っていた行方不明"_OBJC_CLASS_$_ASIdentifierManager"

1

ためAdSupport.frameworkを追加します。解決策は、ライブラリを同じレベルの.hファイルに移動することでした。 しかし、私はなぜこの作品がわかりません。