naichi's lab

3日後の自分(他人)への書き置き

【Unity、iOS】AdMob入れたらModule 'GoogleMobileAds' not found.が消せなくて困った。

f:id:naichilab:20160829234329p:plain:w160

タイトルの通り。

AdMobをiOS用にビルドしようとしたらハマったのでメモ。

環境

  • 書いた日 2016/08/29
  • OS X El Capitan 10.11.6
  • Unity 5.4.0f3

エラー内容

unityから出力したxcodeprojを開き、ビルドすると下記エラー。

xxx/Libraries/Plugins/iOS/GADUNativeCustomTemplateAd.h:4:9: Module 'GoogleMobileAds' not found

GoogleDevelopersに書いてある通りに Add Files to "Unity-iPhone"... から GoogleMobileAds.frameworkを追加してもエラー。

くそう!

解決方法1

下記手順に従ってSDKを追加する際に、

iOS クイック スタート  |  AdMob iOS ガイド  |  Google Developers

Add Files to "Unity-iPhone"... でSDKを選択するウィンドウがある。

そのウィンドウでOptionsを開き、Copy items if neededにチェックを入れること!!

f:id:naichilab:20160829232239p:plain

これがオフだと何をどうしようが not foundエラーになる。

上記サイトにはOptionsが載ってないから最近のXCodeで追加されたんだろうね・・・

解決策2(Unity Cloud Build にも対応)

そもそもunityでビルドするたびにXCode触りたくない人向け。

最初からこの方法でやっときなさいって感じですね。

unity側で Plugins/iOSGoogleMobileAds.frameworkを放り込む。

f:id:naichilab:20160829233906p:plain

終わり。

あっけないので補足。

unity上で追加したframeworkを選択した時、Inspectorウィンドウがこんな感じになってること。

f:id:naichilab:20160829234007p:plain

iOSにチェックが入っていればOK。

これだけでunityが吐き出すXCodeプロジェクトにframeworkが含まれた状態になる。

f:id:naichilab:20160829233502p:plain

あぁ無駄な時間つかった・・・