UnityアプリをXcodeでビルドした時に出たエラーまとめ

unityは2019.2.1f1、xcodeは10.3です。

library not found for -lGoogleUtilities

AdMobなどを使っておりCocoaPodsを使っている場合は.xcodeprojファイルではなく.xcworkspaceからプロジェクトを開くと解決します。

Command PhaseScriptExecution failed with a nonzero exit codeや
Shell Script Invocation Error

いくつか解決法が提示されており、

  • キーチェーンアクセスの左ペインのログインの所をロックし、再度ロック解除。私の場合は解決しませんでした。
  • Preference > Account > team > Manage Certificatesを開き証明書を新規作成。キーチェーンアクセスから証明書内の秘密鍵を「情報を開く」してアクセスコントロールを開き、「Xcode.app,codesign,productbuild」がある事を確認。さらにこの証明書に紐づくprofileも作成(Certificate,identifiers & profilesもしくはAutomatically manage signning)して再度プロジェクトに割り当てる。私の場合は解決しませんでした。
  • プロジェクトフォルダ内にある「MapFileParser.sh」と「process_symbols.sh」の実行権限が抜けている。私はこれが原因だったようです。エラーメッセージを良く追うとPermission deniedが見つかりました。プロジェクトフォルダ内で「chmod 755 *.sh」を実行して解決しました。

Module ‘GoogleMobileAds’ not found.

AdMobをUnityに導入していた場合に起こるエラーです。CocoaPodsを使うやり方、xcodeプロジェクト側に手動でSDKを追加するやり方、Unityプロジェクトの「 Assets/Plugins/iOS 」にMobile Ads SDKの中のGoogleMobileAdsフォルダを追加するやり方がありますが、私の場合はCocoaPods以外のやり方ではうまくいきませんでした。Unity側からのビルドのたびに毎回行う手間を考えるとUnityプロジェクトに追加してしまうやり方が理想的なのですが仕方ありません。

Macにcocoapodを以下のようにインストールします。

sudo gem install cocoapods

AdMob を使っているならプロジェクトフォルダ内のPodFileを開き、プロジェクト内の場所にAdMobに関する記述を以下のように追加。します

pod 'Google-Mobile-Ads-SDK'

PodFileがない場合は先にプロジェクトフォルダ内で以下を実行します。

pod init

更に以下を実行。します

pod install --repo-update

更にアプリの Info.plist ファイルに、GADApplicationIdentifier キーと AdMobアプリID を追加します。アプリIDの確認はAdMobの管理画面から行えます。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
Loading...

    コメント