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)

f:id:d114:20190715002323p:plain

適当な.hファイルまたは.mファイルを選択して、Framework dependencyから

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • SystemConfiguration

にチェックを入れておく。

ビルド後にXcodeからこれらのフレームワークを追加してもいいけど、ここでやっておいたほうが便利。

 

 Info.plistの編集

f:id:d114:20190715004523p:plain

 プロジェクトにある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の環境を構築しておく。

 

 

不要なものもあるかもしれません。

書き忘れがなければ、以上で大丈夫なはずです。