先日、現在作成中のアプリを実機にインストールしようとしたところ、Xcodeでエラーが発生してしまい、ビルドできませんでした。
AdMobを実装したアプリをビルドするためには、いくつかのframeworkを追加する必要があるので紹介します。
はじめに
今回、アプリをビルドできなかった原因はAdMob広告を実装するために必要なフレームワークが足りていなかったためでした。
そこで今回はAdMob広告を使ったアプリをビルドするために必要なframeworkを紹介していきます。
まずはframeworkを新規追加するための環境を整えましょう。
Build Phasesを開いてください。
Build Phases
「TARGETS」を実機テストしたいアプリに合わせた状態で、画面上部を確認してください。
「Build Phases」という項目がありますので、選択しましょう。
続いて、すでに追加されているframeworkを確認してください。「Link Binary With Libraries (XX items)」を選択します。
Link Binary With Librariesをクリックするとframeworkが表示されるのですが、今回は新しくframeworkを追加するので、以下の画像を参考にして「+」ボタンを選択してください。
ここから追加したいframeworkを検索し、追加することができます。
では「AdMob」を使ったアプリに必要なframeworkはどのようなものなのでしょうか。以下から紹介していきます。
AdMobに必要なframework
AdMobを導入しているアプリに必要なframeworkは以下のものになります。
- AdSupport.framework
- AudioToolbox.framework
- AVFoudation.framework
- CoreGraphics.framework
- CoreTelephony.framework
- EventKit.framework
- EventKitUI.framework
- MediaPlayer.framework
- MessageUI.framework
- StoreKit.framework
- SystemConfiguration.framework
AdMobを導入したアプリに必要なframeworkは以上です。これらのframeworkをそれぞれ追加しましょう。
もしこれらのframeworkを追加してもビルドに失敗する時は、別に原因がある可能性がありますので、過去に遭遇したXcodeのエラーを紹介しておきます。
Xcodeビルドエラー
- iOSアプリ ビルドエラーuse of "@import when modules are disabledの対処
- [Xcode] ビルド時のエラー Xcode cannot run using the selected device.
- xcodeを最新版にしたらビルド出来ない [ERROR ITMS-90474 “Invalid Bundle. iPad Multitasking support requires these orientations]
- xcodeでArchive時にビルドエラー ~armv7 ~arm64
- [xcode]ビルドエラー ERROR ITMS-90535: “Unexpected CFBundleExecutable Key. The bundle at ‘Payload/XX.app/UnityAds.bundle’ does not contain a bundle executable.
- xcodeでのビルドエラー _OBJC_CLASS_$_CustomStoreProductViewController in UnityAds(UnityAds)
- [xcode]最新版 ビルドエラー does not contain bitcode
これらのエラーが発生している場合は、確認してみてください。
まとめ
Unityで開発したアプリの場合、Xcodeで発生したエラーのほとんどはframework関連で解決できると思います。
Xcodeのアップデートなどで仕様が変わってしまうこともあるので、慌てて関係ない箇所を変更してしまわないように注意しましょう。
ではまた。