Xcodeでプログラミングしていると頻繁にBuildやRunを繰り返します。私の癖かもしれませんがきっと大方のプログラマーは同じではないでしょうか。そして「No such module ‘GoogleMobileAds’」というエラーが突然現れました。その対策を説明します。
不具合内容
BuildやRunでエラーやワーニング(黄色)が出ると潰したくなります。エラーが出てもBuildやRunでBuild Succeeded(ビルド成功)となってアプリが正常に起動すれば、エラーが出ても問題ないことは経験上分かっていますが、突然現れた「No such module ‘GoogleMobileAds’」はワーニングより一段上の赤色の警告。しかしながらBuild Succeededでプログラムは問題なく走るという微妙な警告でした。どうにかこの警告を消そうともがきました。
対策方法
ネットで検索すると「No such module ‘GoogleMobileAds’」の情報は沢山あって試しましたが解決しませんでした。何度Xcode、Macを再起動したことか。。。
たどり着いたのはGoogleによる、下記adMobの「Mobile Ads SDK をインポートする」の記事でした。
Mobile Ads SDK をインポートする
CocoaPods(推奨)
iOS プロジェクトに SDK をインポートする最も簡単な方法は、CocoaPods を使用することです。プロジェクトの Podfile を開き、アプリのターゲットに次の行を追加します。
pod ‘Google-Mobile-Ads-SDK’
続いて、コマンドラインから次のコマンドを実行します。
pod install –repo-update
ん? pod ‘Google-Mobile-Ads-SDK’? 「No such module ‘GoogleMobileAds’」が現れた私のアプリのPodfileには、pod ‘Google-Mobile-Ads-SDK’ はないぞ? そのアプリのPodfileにあったGoogle関連のコードは下記でした。
pod 'Firebase/Core'
pod 'Firebase/AdMob'
pod 'Firebase/Analytics'
Firebaseを入れると、pod ‘Google-Mobile-Ads-SDK’ がなくてもadMob広告は表示されるんです。だから pod ‘Google-Mobile-Ads-SDK’ は不要と思っていました。
で、pod ‘Google-Mobile-Ads-SDK’ をPodfileに追加してpodをアップデートしたところ、「No such module ‘GoogleMobileAds’」の警告は出なくなりました。めでたしめでたし。でもなんで今まで出なかったのに突然現れるのか? 複数のアプリを作りましたが、ほぼ全て pod ‘Google-Mobile-Ads-SDK’ なんか入れてないのに、今回突然に 「No such module ‘GoogleMobileAds’」の警告が出た。
最後に
上述の対策で警告は出なくなりましが、他のアプリでこの対策が効かない場合があることがありました。その対策は近日記事にします。
コメント