久々に GoogleAdMobSDK を Pods 経由でアップデートしてビルドしたら、Terminating app due to uncaught exception ‘GADInvalidInitializationException’ と言われ、はぁん?ってなったので、その対処法を記載します。
-
開発環境(前提条件)
-
行ったこと
-
解決方法
-
さいごに
開発環境(前提条件)
・Xcode12.4
・Swift5
・GoogleAdMob ver7.69.0(Pods管理)
行ったこと
3番までは執筆時の
公式ドキュメント
の作業ですが、2番はすでに実装していたので行っていません。
1)
pod update
を行い、GoogleAdMobSDK をアップデート
2)Info.plist に GADApplicationIdentifier を追加
4)一度 Xcode で Build を行う(エラー!!)
Terminating app due to uncaught exception ‘GADInvalidInitializationException’, reason: ‘The Google Mobile Ads SDK was initialized without AppMeasurement. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework and set the -ObjC linker flag. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist’
まぁアップデートするとエラー出ますよねーって感じです (σ´-ω-
)σ
GoogleMobileAdsSDK は AppMeasurement を使わずに初期化したので、例外 'GADInvalidInitializationException' 発生してアプリを終了しました
って言われてますね。
ドキュメント通りにやったやんけ!と悪態つきながらも、とりあえず Xcode 終了したり clean かけたけどダメでした \テキトー!/
こういうエラーは手始めに clean かけたり Xcode 再起動して、ワンチャン直らねーかなって方に賭けるタイプの人間なんす。
華麗に賭けに負けたので、ちゃんと調べました。
stackoverflow とかにも「BuildSettings で -ObjC を...」とか「GADApplicationIdentifier を書いたら...」とか色々と出てきたのですが、以下のコードを Info.plist に追加することで直りました。
直りましたね。
GADInvalidInitializationException は。
私の場合ですが、まだ GoogleAdMobSDK 関連でエラーが発生していて、ファイルがないと怒られ続けておりました!
Initialize なんちゃら Framework みたいな名前だったのですが覚えてません。
あーやだなーエラーうぜーと思ってスクショも撮らずでしたが、今になって後悔です。笑
まぁ結局 Pods のキャッシュを削除 → 再インストールかましたら無事ビルド通ったんですけどね。
ターミナルを起動して、以下のようなコマンドを入力してください。
CocoaPods のキャッシュと Xcode の DerivedData を削除して Pods をインストールしてます。
ATT(AppTrackingTransparency)ポリシーのせいで、広告SDKもがちゃがちゃしそうだし、その前に一発アップデートでもすっかーとか軽い気持ちでやったものの、5時間ほどうろうろしてましたwww
申請近かったんで、やってしもーた感ハンパなかったです (・ω・;
てか何気に ATT は収益にダメージ来そうな気がするー
Apple も本気で動いてるしなぁ。まぁ従うしかないですけどね。
東京で6年ほど iOSアプリの開発をして、今は実家に戻って介護&リモートで開発しています o(・_・)9
個人的なアプリ開発ではライトアプリを3つほど。
スマホ、ガジェット大好き ٩( ‘ω’ )و
UI/UXのデザイン系も興味あるマン。