Version: 2022.1
言語: 日本語
iOS の要件と互換性
Unity Xcode プロジェクトの構造

Inside the iOS build process

Editor Based Building and Running

iPhone/iPad のアプリケーションのビルドプロセスは、以下に示す2段階のプロセスです:

  1. Xcode project は、すべての必要なライブラリや、プリコンパイルされた .NET コード、シリアライズされたアセットで Unity によって生成されます。
  2. Xcode project は、Xcode でビルドされ、実際のデバイス上に配置されて実行されます。

“Build” がダイアログ Build settings“ をヒットしたとき、最初のステップだけは完了してます。”Build and Run" をヒットすると、両方のステップを実行します。 Project でダイアログを保存した場合、ユーザに、アラートが表示され、既存のフォルダーを選択します。現在、選択する2つの Xcode プロジェクト生成モードがあります。

  • replace - ターゲットフォルダーのすべてのファイルが削除され、新しいコンテンツが生成されます。
  • append - “Data” や、“Libraries” 、 project ルートフォルダーが空(から)にされ、新しく生成されたコンテンツで満たされます。Xcode project ファイルは、最新の Unity project の変さらに応じて更新されます。Xcode project “Classes” サブフォルダーは、カスタムネイティブコードを置くための安全な場所と考えることができますが、定期的にバックアップを作成することをお勧めします。Append (追加) mode は、同じ Unity の iOS のバージョンで生成された既存の Xcode project だけをサポートします。

Cmd 押しながら、B を押した場合、その後、automatic build と run process が起動します。最後に使われたフォルダーをビルドの対象に想定しています。この場合、デフォルトとして append モードを想定しています。

注: 上記のステップ1は、PC や Mac上で実行することができます。Mac のみ、ステップ2を実行することができます。これは iDevice で Unity project を実行できることを意味し、Mac を持っている必要があります。

Command Line Building

Unity は一度、XCode project をビルドするために使用した後に、コマンドラインからのビルドと実行を行うことが可能です。エディターは XCode project をビルドした後、ターミナルから次の操作を行います。

unity$ xcodebuild test -destination "platform=iOS,id=400d20d00baf8d4997b47be0416cf5c44dd2d3bc" -scheme Unity-iPhone

上のコマンドラインの 400d20d00baf8d4997b47be0416cf5c44dd2d3bc は、プロジェクトを実行する iDevice の ID です。Xcode の Window > Devices メニューでデバイスの ID を決める必要があります。

インクリメンタルビルドパイプライン

Unity uses the incremental build pipeline when it builds the Player for iOS. This means that Unity incrementally builds/generates files such as Information Property List (plist) files and Entitlement files. If you implement callbacks that modify or move any iOS file or asset that the incremental build pipeline uses, see Creating non-incremental builds.

iOS の要件と互換性
Unity Xcode プロジェクトの構造