https://developers.google.com/mobile-ads-sdk/docs/ios/fundamentals?hl=ja
上をみて普通にやってもリンカーエラーでコンパイルが通らない いろいろ、調べてみたらAdMob v6.2.1は フレームワークに上記のものに加えて
StoreKit.framework AdSupport.framework
をいれないとだめ。また、コンパイルが通るようになっても
[Build Settings]-[Other Linker Flags]に
-ObjC -all_load
を加えて実行しないと、こける。日本語版もさっさと更新してくれればいいのにね〜
https://developers.google.com/mobile-ads-sdk/docs/admob/mediation
iAdとadmobのハイブリット実装がやっとでけた…
[追記] libGoogleAdMobAds.aを[Link Binary With Libraries](フレームワークを追加するところ)に加えるのも忘れないように…
[追記2] Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport Referenced from: /var/mobile/Applications/26329A7C-04B0-415A-B8EB-3C59CC1EC0B1/hammerhead.app/hammerhead Reason: image not found のようなエラーがでることがある。 対策として [Link Binary With Libraries]のadSupport.frameworkのrequireをoptionalに変更
[追記3] どうも、いろいろエラーがおこる。シミュレータではエラーはでなくて、実機(4s)でエラーを吐く場合がある。 いろいろ可能性をつぶしていくと、どうやらAdmob周りらしい。 原因として「必要なframeworkが入っていない」「クラス名の重複」「import時に.hではなく.mを指定している」などがFAQらしいが それならば、シミュレータでビルトが通るのはおかしい。 いろいろ、探ってみたらどうやらアーキテクチャの問題らしい。admob6.21はまだarmv7sには、まだ対応していない。 というわけでBuildSetting>Architectures>Valid Architecturesからarmv7sを削除。 ビルトが通りました。下のサイトに感謝
[追記4] 2014-03-29 ようトレをAndEngineからcocos2dに移植中にAdmobをバージョンアップしろしろ、とログに出まくるため、別に困ってはいない ものの、v6.8.0にアップ。そしたら案の定、フレームワークが不足してそうなエラー。 “_OBJC_CLASS_$_CTTelephonyNetworkInfo”, referenced from: objc-class-ref in libGoogleAdMobAds.a(GADDevice.o) とか・・・一応、リファレンス読み直すも、いつも通り足りている様子。まぁ、いつものことだろーと思い、ググったら
http://akira-watson.com/iphone/error/sdk6-7-0_bug.html
CoreTelephony.frameworkが不足とのこと。。。いつもどおりだね・・・上記サイトTHX