Unity で iOS アプリケーションをビルドするプロセスには、主に 2 つのステップがあります。
Unity が iOS アプリケーションをビルドする方法の詳細については、Unity が iOS アプリケーションをビルドする方法を参照してください。
ノート: iOS アプリケーションをローカルにビルドするには、Xcode が macOS デバイスでのみ使用可能なため、開発マシンで macOS を実行する必要があります。macOS デバイスを保有されていない場合は、Unity Build Automation を使用してクラウドでアプリケーションをビルドできます。
iOS 用にプロジェクトをビルドする前に、iOS の Player Settings で Bundle Identifier を設定していることを確認します (メニュー: Edit > Project Settings > Player Settings)。アプリケーションがシミュレーターと実際のデバイスのどちらをターゲットにするかを選択することもできます。これを行うには、SDK version フィールドを変更します。
iOS 用に Xcode プロジェクトをビルドするには、以下の手順に沿って操作します。
ヒント: 初めてターゲットディレクトリを指定したら、Cmd+B キーを使用してアプリケーションをビルドおよび実行できます。Unity は、Xcode プロジェクトを再生成するために Append モードを使用します。
Xcode での Xcode プロジェクトの実行について詳しくは、アプリケーションのビルドと実行 (Apple 開発者) を参照してください。
すでに別の Xcode プロジェクトが含まれているディレクトリにプロジェクトをビルドすると、Unity が警告を表示し、どのように続行するかの選択肢を提示します。以下の 2 つのオプションがあります。
Data サブディレクトリと Libraries サブディレクトリ内のすべてのファイルを削除します。次に、これらのディレクトリに新しく生成された Xcode プロジェクトのコンテンツを入力します。その後 Unity は Xcode プロジェクトファイルを最新の Unity プロジェクトの変更に応じて更新します。Unity は、同じ Unity の iOS のバージョンで生成された既存の Xcode プロジェクトに対してのみこのモードをサポートします。ここで指定したファイルは削除されないため、カスタムビルトインコードを classes サブディレクトリに保存できます。Unity が Xcode プロジェクトを生成した後、コマンドラインから Xcode プロジェクトをビルドして実行することができます。これを行うには、以下の手順を行います。
<device-id> はデバイス ID です。unity$ xcodebuild test -destination "platform=iOS,id=<device-id>" -scheme Unity-iPhone
コマンドライン引数を使用してビルド設定を指定する場合は、Xcode プロジェクトのすべてのターゲットに適用されます。これを回避するために、一部のビルド設定には、サフィックスバージョンがあり、ビルド設定が影響を与えるターゲットを指定できます。これは、Xcode > Build Settings の User-Defined 設定を使用して実装できます。APP サフィックスはアプリケーションのターゲットに使用され、FRAMEWORK サフィックスはフレームワークのターゲットに使用されます。
xcodebuild でビルドする場合は、以下のビルド設定にサフィックスバージョンを使用します。
| Xcode ビルド設定 | サフィックスバージョン |
|---|---|
| PRODUCT_NAME | PRODUCT_NAME_APP |
| PROVISIONING_PROFILE | PROVISIONING_PROFILE_APP |
| PROVISIONING_PROFILE_SPECIFIER | PROVISIONING_PROFILE_SPECIFIER_APP |
| OTHER_LDFLAGS | OTHER_LDFLAGS_FRAMEWORK |
カスタムビルドパイプラインに基づいて、リストを拡張して他の設定をカバーできます。