ビルドシステムとは何ですか?
ビルドシステム は、ソースコードとアセットを iOS、macOS、tvOS、watchOS アプリなどの製品に変換します。開発プロセス全体を通じて、ビルドシステムは以下の場合に呼び出されます。
- プロジェクトをビルドし、実行し、テストし、プロファイルし、分析し、またはアーカイブします。
- Xcode サーバを使用して、プロジェクトの 継続的な統合 を実行します。
- Xcode の外部で xcodebuild コマンドラインツールを使用します。
ビルドシステムの各呼び出しは ビルド であり、順序付けられた一連のタスクを実行することによって行なわれます。最も一般的なタスクには、コンパイラやリンカなどのコマンドラインツールの実行、ファイルのコピーなどのファイルシステム操作の実行、Info.plist ファイルの変換などのカスタムファイル処理の実行などが含まれます。
相互作用
ビルドシステムは多数のコンポーネントと相互作用します。
- ワークスペース はプロジェクトを整理します。
- プロジェクト は、ワークスペース内のソースコードとアセットを整理します。
- スキーム は、ビルドするターゲットと実行するアクション (ビルド、実行、テスト、プロファイル、分析、アーカイブ) を指定します。ワークスペースには複数のスキームが含まれる場合があります。
- アクション は、ビルド構成、およびビルド、実行、テスト、プロファイリング、分析、アーカイブに必要なその他の設定を指定します。
- ターゲット は、完成した プロダクト をビルドする方法を示します。ターゲットは、ビルド設定、ビルドフェーズ、およびビルド規則を定義します。プロジェクトには複数のターゲットが含まれる場合があります。たとえば、1 つのプロジェクトに iOS アプリターゲット、watchOS アプリターゲット、watchOS アプリ拡張ターゲットがある場合があります。
- ビルド設定 は、ターゲットのプロダクトをビルドするために必要な情報を提供します。
- ビルド構成 は、特定の使用ケースのビルド設定値のバリエーションです。ほとんどのアプリには、デバッグとリリースの 2 つのビルド構成があります。
- ビルドフェーズ では、ソースコードのコンパイルやファイルのコピーなど、ターゲットをビルドするときに実行するタスクを定義します。
- ビルド規則 は、ビルドシステムが特定の型のファイルをコンパイルする方法を定義します。
- ビルド構成 (xcconfig) ファイル は、プロジェクトとターゲットの特定のビルド構成のビルド設定を定義するプレーンテキストファイルです。これらのファイルは Xcode の外で編集でき、ソース制御 システムとうまく統合できます。
ワークフロー
アクション (ビルド、実行、テスト、プロファイル、分析、またはアーカイブ) がスキームに対して開始されると、ビルドシステムは以下のことを行います。
- ビルドしなければならないターゲットを決定します。
- ビルド構成、ビルド設定、ビルドフェーズ、およびビルド規則のリストを取得します。
- 他のターゲットへの依存関係をチェックし、それらのターゲットをビルドします。
- 実行しなければならないビルドタスクの完全なリストを準備します。
- 増分ビルドが可能な場合は、増分ビルドタスクのリストを準備します。
- ビルドタスクを実行します。これには、すべてのビルドフェーズを通しての移動が含まれます。ビルドフェーズごとに、必要に応じてカスタムビルド規則を適用します。
- 製品を生産します。
以下も見よ