Unity で iOS向けにビルドして生成したXcodeプロジェクトを使ってiPhoneで動作するアプリケーションのビルド・実行手順について説明します。
iOS アプリのビルドはXcodeで行うのですが、署名に関する設定や実機デバイスの登録などつまづくポイントが多々ありますので、その辺も詳しく解説していきます。
環境構築関連やUnityでのビルド手順はこちらを参照ください。
開発環境
- Unity 2019.4.18f1
- Xcode 12.4
- iPhone SE iOS 14.4
Xcode プロジェクトを起動する
UnityでiPhone向けにビルドすると、フォルダが生成されます。このフォルダに格納されているUnity-iPhone.xcworkspaceを選択して実行します。
以下ではビルド成果物をBin_iOSフォルダに格納した時の例を示しています。
起動すると、以下のようにxcode Projectが表示されます。
なお、Unity-iPhone.xcodeprojで起動しても起動するのですが、Unity-iPhone.xcworkspaceで起動するようにします。
CocoaPodsを使用している場合、Unity-iPhone.xcodeprojで起動するとエラーになってしまいます。私は以下のようなAdmobのヘッダに関するエラーに出くわしました。
GoogleMobileAds/GoogleMobileAds.h' file not found
アプリ署名のためにアカウントを追加する
XcodeのプロジェクトSigning & Capabilities→Signingを選択してAutomatically manage signingにチェックを入れます。
Teamのドロップダウンボックスが選択できるようになるので、自身のApple IDアカウントを追加していきます。
こちらの設定はあらかじめUnityエディタ側で設定しておくこともできます。
Signing Team IDはチーム名ではなく、チームIDを入力します。チームIDはこちらから参照できます。
もし、設定が反映されないようであれば、Automatically Signのチェックを消してもう一度付け直して試してみてください。一回では効かないことがあるようです。
iPhone実機を接続する
iPhoneを接続します。正しく接続できていれば、window上部に自身の端末が選択できるようになりますので、選択しておきます。
ここまでの設定が一通りできていれば、ビルドはパスすると思います。
実機でアプリを実行する
接続しているMacを信頼するPCに設定する
画面上部の実行ボタンをクリックして、アプリを実行します。もし初めて接続する端末であれば、以下のようにエラーが出力されます。
The run destination hirokumaiPhone is not valid for Running the scheme 'Unity-iPhone'.
hirokumaiPhone does not trust this Mac. To use hirokumaiPhone with Xcode, unlock it and choose to trust this Mac when prompted.
iPhone側で信頼する端末に登録すれば、問題は解決されます。
iPhoneのデバイス管理を設定する
そして次にCould not launch “App Name”というエラーが表示される場合があります。
これはiPhone側で信頼できるAppに登録できていないためです。iPhoneの設定→一般→プロファイルとデバイス管理で接続しているアプリを信頼する設定にします。
このメニューはXcodeで実行ボタンを押していないと表示されません。Xcode側で実行してない状態で参照してもiPhone側にこの選択ボタンが表示されませんので注意が必要です。
iPhone実機での実行
信頼するアプリに登録すれば実機上のアプリのアイコンをタップするかXcodeから実行することでアプリを起動できます。
おわりに
iPhoneでUnityのアプリを起動することが無事にできました。以下にハマりポイントをまとめておきます。
- UnityのBuild & RunでXcodeプロジェクトを起動する、またはUnity-iPhone.xcworkspaceで起動する
- Apple IDアカウントの設定
- iPhoneのデバイス管理はXcodeで実行ボタンを押した後に設定する
また、ここには書いてませんが、実はもっと色々苦労しました。Admobを使っているのですが、iOSではCocoaPodsというアプリが必要なのをインストールしていなかったり、Teamのアカウント設定ができていないためにビルドできなかったり・・・
後日トラブルシューティングという形でまとめられたらと思っています。
コメント
[…] 【Unity】iPhone実機でアプリを実行する 今回はiPhone向けにビルドしたUnityア… […]
[…] https://hirokuma.blog/?p=2666 […]
[…] https://hirokuma.blog/?p=2666 […]