AdMob SDKが入ったiOSアプリをアプデするべくUnityを2019.2化したのですが、iOSビルドする際に処理の最後でフリーズしてXcodeプロジェクトを書き出せないトラブルに見舞われました。
UnityでiOSビルド中に止まる場所は以下です。
明らかにXcodeプロジェクトを書き出す際にフリーズしてます。
最初は、Xcodeが古いのが原因かもしれないとXcode10.3をインストールしてみました。しかし、結果は変わらず。
次にAdMobが最新の3.18.3じゃないのが原因かもしれないと考え、AdMob SDKをクリーン差し替えしてみましたが、これまた結果は変わらずフリーズ。
そこで、Unityで書き出し時に指定するフォルダの中を見てみたところ、いつもはcocoapodsが格納されるために生成されるxcworkspaceというファイルがありませんでした。
これを生成してるのは、AdMob SDKをインストールした時に一緒に入るiOS ResolverというUtilityです。(場所は下図)
ここのSettingsで、以前は古いAdMob SDKのデフォルト設定通りに「Xcode Workspace – Add Cocoapods to the Xcode workspace」を選んでいました。
ところが、Unity2019.2ではこのxcworkspaceファイル(白いアイコン)の生成でコケてるようなので、「Xcode Project – Add Cocoapods to the Xcode project 」を選択し、Xcodeプロジェクトのファイル(青いアイコン)に収まるようにしました。
自分で作ったXcodeプロジェクトを管理する時は、cocoapodsをworkspaceへ出した方が管理がしやすいのかもしれませんが、Unityを使う場合は毎回自動で書き出してくれるのでXcodeプロジェクトで問題ないと考えました。
結果は、無事にUnityからXcodeプロジェクトへ書き出しができました!
もちろん、実機(iOS12.3のiPhone8)のiOSアプリでもAdMobバナーが表示されることが確認できました。