UnityのiOSプロジェクトにAdMobを導入した時にXcodeのエラーを消してアプリを立ち上げるまでにやったこと
Unityプロジェクトにインタースティシャル広告を表示するためにAdMobを導入したところ、Xcodeでビルドしてもアプリが立ち上がらなくなってしまった。
解決するまでに時間がかかったたため、今後のための備忘録を残します。
環境
AdMobのunitypackageをプロジェクトに導入する
https://github.com/googleads/googleads-mobile-unity/releases
ここからダウンロードして、プロジェクトにインポート
SDKの導入(1)
https://developers.google.com/admob/ios/download
ここからGoogleMobileAdsSdkiOSをダウンロードし、
- GoogleMobileAds.framework
- GoogleAppMeasurement.framework
の2つをプロジェクトに追加する。
SDKの導入(2)
適当な.hファイルまたは.mファイルを選択して、Framework dependencyから
- AdSupport
- AudioToolbox
- AVFoundation
- CoreGraphics
- CoreTelephony
- EventKit
- EventKitUI
- MessageUI
- StoreKit
- SystemConfiguration
にチェックを入れておく。
ビルド後にXcodeからこれらのフレームワークを追加してもいいけど、ここでやっておいたほうが便利。
Info.plistの編集
プロジェクトにあるInfo.plistにKey: GADApplicationIdentifier, Type: String, Value: AdMobで割り振られたアプリID(テストの場合はca-app-pub-3940256099942544/1033173712)と、
Key: GADIsAdManagerApp, Type: Boolean Value: Yes の2つを追加する。
(GADIsAdManagerAppはUnityのInfo.plistから追加してもビルドの生成ファイルで反映されなかったので、Unityでのビルド後にXcodeから毎回変更している)
ここまでで、一旦ビルドする。
.xcworkspaceを開く
AdMobを導入した場合、.xcodeprojではなく、.xcworkspaceを使う。
ビルドが成功した時に出来上がるプロジェクトファイルに.xcworkspaceがない場合、ターミナルからプロジェクトファイルまで行き、
pod init
pod install
とうつ。
cocoapodがない場合は、その前に
sudo gem install cocoapods
pod setup
として、cocoapodの環境を構築しておく。
不要なものもあるかもしれません。
書き忘れがなければ、以上で大丈夫なはずです。