渋谷ほととぎす通信

「Unityをわかりやすく」初心者のためのゲーム作りブログ

【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ

【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ

こんにちは、Unityエンジニアのオオバです。

お悩みさん
お悩みさん
  • XcodeのiOS実機ビルドエラーを直したい
  • Xcodeで正しくiOSビルドする方法を知りたい
  • オオバ
    オオバ
    本記事ではこれらの悩みを解決します。

    オオバはスマホゲーム開発歴11年です。UnityでiOS向けゲームを作る際に必ずXcodeを使います。UnityからXcodeプロジェクトを書き出してXcodeからiOS実機を動かすからです。

    このXcodeが曲者。すんなりビルドが通ることはありません。何かしらエラーが起きて開発時間を圧迫します。そこで、この記事では今までの経験を元にXcodeのビルドエラーと対応方法をまとめてみました。

    スマホゲーム開発に携わる方の助けになれば幸いです。

    👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

    【準備編】XcodeでiOS実機ビルド前の3つのチェック項目

    エラー対応に入る前にビルドの前後でチェックしておくことをまとめました。

    XcodeでiOS実機ビルドする前のチェック項目

    ①Macに実機(iPhoneなど)をUSBケーブルでつないでいるか?

    ②iOS実機がMacに認識されているか?

    ③XcodeにAppleIDでログインしているか?

    Xcodeビルドする前に以上3点をチェックしましょう。
    「①Macに実機(iPhoneなど)をUSBケーブルでつないでいるか?」「②iOS実機がMacに認識されているか?」 は言葉のとおりUSBケーブルがMacにしっかり刺さっていて、Xcodeに端末が認識されていることを確認しましょう。

    「③XcodeにAppleIDでログインしているか?」は補足説明をします。

    ③XcodeにAppleIDでログインしているか?

    昔のXcodeには不要でしたが、現在はXcodeでiOSビルドする時には Appleアカウントでログインしておく必要があります。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_0

    メニューXcode > Preferences > AccountsからAppleIDにログインできます。iOSビルドする前にログインしておきましょう。

    Xcodeビルドエラー後にとりあえず試しておきたい3つのこと

    この記事ではさまざまなXcodeビルドエラーを紹介しますが、どのエラーも共通で試しておきたいことが3つあります。

    Xcodeビルドエラー後にとりあえず試しておきたい3つのこと

    ①Clean Build Folder

    ②Xcodeの再起動

    ③Macの再起動

    ビルドエラーが起きたときにまず試したいのは、 Clean Build Folder でビルドフォルダのクリアです。Xcodeのメニュー > Product > Clean Build Folder から実行できます。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_1

    次に試したいのは、Xcodeの再起動とMacの再起動です。嘘みたいな話しですが再起動でビルドが通ることは結構あります。

    以上の3つを試した上で直らない場合は、エラー内容に沿って対応していきます。

    5つのiOSビルドエラーと対処法

    ここからは実際のXcodeビルドエラーとその対処法を5つ紹介します。

    5つのiOSビルドエラーと対処法

    エラー① Failed to create provisioning profile

    エラー②Could not launch profiling

    エラー③dev.entitlements could not be opened.

    エラー④An error was encountered while attempting...

    エラー⑤Could not locate device support files.

    👉 【Xcode】UnityにiOSフレームワークを自動追加する方法

    エラー① Failed to create provisioning profile

    「Failed to create provisioning profile」の紹介。iOS実機がMacに認識されずに出るエラーです。

    このエラーの解決方法は 「iOS実機がMacにつなぐ」 です。

    Plug in and select a device to have Xcode register it.  
    

    ポイントは↑この一文。「実機がXcodeに認識されていません」ということを言っています。ケーブルが繋がっていることを確認できているのであれば、 ケーブルの故障相性接触の悪さ が可能性として考えられます。別のケーブルで試してみると良いでしょう。

    経験上100円で売られているUSBケーブルではうまくいかないことが多い です。

    エラー全文はこちら
    Failed to create provisioning profile.  
    There are no devices registered in your account  
    on the developer website. Plug in  
    and select a device to have Xcode register it.  
    

    エラー②Could not launch profiling

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_2

    こちらはビルドには成功したけれども実行時にXcode上でアラートが出たケースです。

    このエラーの解決方法は「実機に構成プロファイルが未インストール」だということです。Xcodeから直接インストールされたアプリを実行るためには権限の許可が必要になります。権限の許可は開発者がおこなう必要があるのです。これは実機側で対応します。

    エラー全文はこちら
    Could not launch "profiling"  
    Verify the Developer App certificate for your account is trusted  
    on your device. Open Settings on "デバイス名" and navigate to  
    General -> Device Management,  
    then select your Developer App certificate to trust it.  
    

    iOS実機に構成プロファイルをインストールする方法

    iOS実機の設定アプリから 一般 > デバイス管理 を選択します。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_3

    デベロッパAPPの項目をタップし、構成プロファイルを信頼します。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_4

    インストールする構成プロファイルをタップします。 「アカウント名を信頼」 をタップすると構成プロファイルはインストールされます。

    以上の対応で本エラーは解決します。

    エラー③dev.entitlements could not be opened.

    このエラーの解決方法は「Code Signing Entitlementsの項目を空欄にする」です。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_5

    ↑上図のように Code Signing Entitlements の内容を消して空欄状態にすると、本エラーは解決します。

    エラー全文はこちら
    dev.entitlements" could not be opened.  
    

    エラー④An error was encountered while attempting...

    「An error was encountered while attempting」エラーの解決方法は 「Xcode、実機の再起動を試す」 です。

    Please try rebooting and reconnecting the device.  
    

    ↑エラー内容のとおり、Xcodeと実機を再起動してみましょう。

    エラー全文はこちら
    An error was encountered while attempting to  
    communicate with this device. (The service is invalid.)  
    Please try rebooting and reconnecting the device. (0xE8000022).  
    

    エラー⑤Could not locate device support files.

    「Could not locate device support files.」エラーの解決方法は 「Xcodeのバージョンアップ」 です。

    【Unity】Xcodeを使ったiOS実機ビルドエラーと対応方法まとめ_6

    iOS実機のOSバージョンに対して、Xcodeがサポートしていないバージョンだったということ です。

    OSバージョンの低い実機で試すかXcodeのバージョンをアップしましょう。ただ、その場合macOSのバージョンも上げる必要が出てくる可能性があるため注意が必要です。

    つまり、iOS、Xcode、macOSこれら3つのバージョンが関わってくるということです。iOS実機、macOSのバージョンは上げてしまうともとに戻すのが困難なため慎重に判断しましょう。

    エラー全文はこちら
    Could not locate device support files.  
    This {デバイス名} is running iOS {OSバージョン} (16B92),  
    which may not be supported by this version of Xcode.  
    

    iOSビルドエラーと対処法まとめ

    Xcode実機ビルドで発生するエラーと対応方法についてまとめました。時代とともにエラーは移り変わっていきます。これからも多くのXcodeビルドエラーに出会うと思います。そのたびにこの記事は更新され、エラー耐性が強くなっていくと思います。

    Xcodeは実機ビルドを諦めてしまうくらいエラーで困るときがあります。しかし、ゲーム開発で重要なのは実機によるテストです。諦めずに地道にエラーを回避する姿勢が大事。

    この記事があなたのビルドエラーの助けになれば幸いです。

    「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
    ぜひチャンネル登録をお願いします!

    最後まで読んでいただきありがとうございました!
    すばらしいiOS開発ライフをお過ごしください。

    オススメ記事
    検証環境
    • Xcode10.1以降
    参考サイト