こんにちは、Unityエンジニアのオオバです。
オオバはスマホゲーム開発歴11年です。UnityでiOS向けゲームを作る際に必ずXcodeを使います。UnityからXcodeプロジェクトを書き出してXcodeからiOS実機を動かすからです。
このXcodeが曲者。すんなりビルドが通ることはありません。何かしらエラーが起きて開発時間を圧迫します。そこで、この記事では今までの経験を元にXcodeのビルドエラーと対応方法をまとめてみました。
スマホゲーム開発に携わる方の助けになれば幸いです。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
【準備編】XcodeでiOS実機ビルド前の3つのチェック項目
エラー対応に入る前にビルドの前後でチェックしておくことをまとめました。
①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アカウントでログインしておく必要があります。
メニューXcode > Preferences > Accounts
からAppleIDにログインできます。iOSビルドする前にログインしておきましょう。
Xcodeビルドエラー後にとりあえず試しておきたい3つのこと
この記事ではさまざまなXcodeビルドエラーを紹介しますが、どのエラーも共通で試しておきたいことが3つあります。
①Clean Build Folder
②Xcodeの再起動
③Macの再起動
ビルドエラーが起きたときにまず試したいのは、 Clean Build Folder でビルドフォルダのクリアです。Xcodeのメニュー > Product > Clean Build Folder
から実行できます。
次に試したいのは、Xcodeの再起動とMacの再起動です。嘘みたいな話しですが再起動でビルドが通ることは結構あります。
以上の3つを試した上で直らない場合は、エラー内容に沿って対応していきます。
5つのiOSビルドエラーと対処法
ここからは実際のXcodeビルドエラーとその対処法を5つ紹介します。
エラー① 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
こちらはビルドには成功したけれども実行時に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実機の設定アプリから 一般 > デバイス管理
を選択します。
デベロッパAPPの項目をタップし、構成プロファイルを信頼します。
インストールする構成プロファイルをタップします。 「アカウント名を信頼」 をタップすると構成プロファイルはインストールされます。
以上の対応で本エラーは解決します。
エラー③dev.entitlements could not be opened.
このエラーの解決方法は「Code Signing Entitlementsの項目を空欄にする」です。
↑上図のように 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のバージョンアップ」 です。
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以降