頻繁に仕様が変わって迷惑この上ない AdMob だけど、今回は特に手こずったので覚書。
まず大前提として、パッケージに含まれるFrameworkは、すべて(4つ)プロジェクトに加えること。
ここで、自分勝手に解釈して、以前と同じファイル名の GoogleMobileAds.framework 1つしか追加しなかったもんだから、後々まで苦労した。
「今までと同じにバナーしか出さないんだから、4つもいらないだろ」とか思わず、素直に全部使いましょう。
あとは以下の手順で。
1. これまでAppDelegete内に書いてた
[GADMobileAds configureWithApplicationID:@"アプリID"];
を
[[GADMobileAds sharedInstance] startWithCompletionHandler:nil];
に差し替え。
これは警告が出るのでわかりやすい。
2. info.plistに以下を追加
<key>GADApplicationIdentifier</key>
<string>アプリID</string>
これも、エラーログの 'GADInvalidInitializationException' でググるとかなりの情報が出てくるのでOK。
3. Build Settings の Other Linker Flags に -ObjC を追加
これが、ほとんど情報無し。よくよく見ればエラーログには書かれてるんだけど、Frameworkが不足しているとエラーが山ほど出てくるので、ちょっとビビる。
とりあえず、なんとか解決。
したけど、まあこんなの書いておいても、どうせまたすぐ仕様が変わるんだろうなあ。