##問題
Unityでモバイル向けにadmob広告を入れたいが、
UnityでAdmobのパッケージをいれる→xcodeにてでビルドエラー
エラー内容
'GoogleMobileAds/GoogleMobileAds.h' file not found
##Unityバージョンとか
Unity2019.4.1f
GoogleMobileAds-v5.4.0.unitypackage
##対処法
①ターミナルからコマンドにてCocoapodsを削除して、インストールし直す
②Unity→Asset→External Dependency Manager→ios resolver Settiings にて Cocoapods IntegrationをXcodeProject - Add Cocoapods to the Xcode projectに変更してビルド
③.xcodeprojectを開いて実機にビルド
色々試した結果、なぜか上記でできました。
理由は不明です。2時間くらい消滅しました。
参考記事
https://qiita.com/noprops/items/f997a438fabb64c15f10
https://qiita.com/nekojoker/items/231273c8422a88485b27
結果的に上記の2記事を足したような感じのことをしました。
##メモとか
一個前に作ってたプロジェクトでは
GoogleMobileAds-v5.3.0.unitypackage
を使っていて、今回は最新版の5.4.0にしたところ、上記の現象が起きた。
そのさらに前にも似たような現象が起きたけど、いつもよくわからないまま、なんとか対処している
前はGoogleMobileAdsSdkiosを↓からダウンロードして解答
https://developers.google.com/admob/ios/download
中の
GoogleAppMeasurement
GoogleMobileAds
のフォルダをUnityプロジェクトのPlugins→iosの中にコピーしたら解決した、
https://d114.hatenablog.com/entry/2019/07/15/005901
が今回はダメだった。
これをやるとUnityからiosビルド時に
``
Plugin 'GoogleMobileAds.framework' is used from several locations:
的なことを言われてしまいました。コピーしたプラグインが複数の場所で使われてるぞ?とのこと
https://waken.hatenablog.com/entry/2016/08/06/095457
プラグインにコピーにしたフォルダを削除すると上記のエラーは消えるが、タイトルのエラーがxcodeでのビルド時に残ってしまう。
v5.3.0の時は上記の対処をしなくても問題なく動いていたので、別の対処が必要かと判断
cocoapodsを入れ直すとunityからのiosビルドは通るようになったが、xcworkspaceから開くと実機でアプリが起動しなくなった。
そこで対処法②をして、xcodeprojから開いて実機にインストールすると問題なく起動し、広告も表示された。
以前は逆にxcodeprojeから開くと実機でアプリが起動しなくなった
だからxcworkspaceから開くのが習慣になっていたけど、今回は逆でした
理由は不明。
Unityのビルド時に
```
converting managed assemblies to C++
```
で止まってしまって動かなくなることがあるけど、しばらく待っていたらビルドされたりするので待ってみるのはアリかも。
これでビルドできなかったら詰んでたかも
https://forum.unity.com/threads/frozen-while-converting-managed-assemblies-to-c-ios.499064/