iOSアプリにGoogleAnalyticsを入れるときにはまった

少し前のことですが、GoogleAnalyticsを作っているアプリにいれたところではまりました。
フレームワークなどを入れて、コンパイルしたところ

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

このようなエラーが。色々と検索して対処してみましたが、まったく改善せず。
GoogleAnalyticsの1.x系で開発をおこなっていたのですが、2.x系にしてみるか・・・と暗く思っていたときにふと、Xcodeの[Library Search Paths]を見てみると、広告表示用に入れた[GoogleAdMobAdsSdkiOS-6.2.1]の下層にある2.x系GoogleAnalyticsライブラリへのパスが…

そう、あまり確認せず広告SDKいれたときに、一緒に2.x系GoogleAnalyticsの2.xへのパスが設定されていたのでした。。
このパスを取り除いたところコンパイル完了。。

理解しながらやらないとダメという初歩的はまりに苦しめられた2時間。
makeファイルとか自分で作らない楽さを享受するためにも、色々理解してやらないとダメだなーと、思い知ったハマりでした。

※ライブラリパスは・・Xcodeの[Build Settings]-[Search Paths]で確認できます。

Leave a Comment