久々に GoogleAdMobSDK を Pods 経由でアップデートしてビルドしたら、Terminating app due to uncaught exception ‘GADInvalidInitializationException’ と言われ、はぁん?ってなったので、その対処法を記載します。

  1. 開発環境(前提条件)
  2. 行ったこと
  3. 解決方法
  4. さいごに

開発環境(前提条件)

・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のデザイン系も興味あるマン。