【Swift】突然のエラー「No such module ‘GoogleMobileAds’」その1

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’」の警告が出た。

最後に

上述の対策で警告は出なくなりましが、他のアプリでこの対策が効かない場合があることがありました。その対策は近日記事にします。

コメント

コメントする

CAPTCHA


目次