見出し画像

プログラミングガイド「ビルド設定リファレンス」(E部)

Build settings reference」の私家版和訳です。

ルート/←D部/→F部

1. プロダクトバンドルにアセットパックを埋め込む (EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE)

ビルドされた全てのアセットパックを、プロダクトバンドル内に埋め込みます。これは、オンデマンドリソース機能のパフォーマンスが低下するため、アセットパックサーバーを使用することが現実的ではない場合にのみ、テスト目的で使用してください。

2. ビットコードを有効にする (ENABLE_BITCODE)

この設定を有効にすると、ターゲットまたはプロジェクトは、サポートするプラットフォームやアーキテクチャのコンパイル時にビットコードを生成する必要があることを示します。アーカイブビルドの場合、ビットコードは、App Storeに送信する為の、リンクされたバイナリで生成されます。その他のビルドでは、コンパイラとリンカはコードがビットコード生成の要件に準拠しているかどうかをチェックしますが、実際のビットコードは生成されません。

3. 強化されたランタイムを有効にする (ENABLE_HARDENED_RUNTIME)

ランタイム制限を強化します。

4. ENABLE_HEADER_DEPENDENCIES

インクルードされたヘッダーファイルの依存関係を自動的に追跡するかどうかを指定します。

5. インクリメンタル蒸留を有効にする (ENABLE_INCREMENTAL_DISTILL)

アセットカタログ・コンパイラのインクリメンタルdistillオプションを有効にします。この機能は実験的なものなので、注意して有効にしてください。

6. Foundationアサーションを有効にする (ENABLE_NS_ASSERTIONS)

NSAssertで提供されるアサーションロジックを、前処理のソースコードに含めるか、前処理中に消去するかを制御します。アサーションを無効にすると、コードのパフォーマンスが向上します。

7. アクティブなリソースのみをビルドする (ENABLE_ONLY_ACTIVE_RESOURCES)

単一デバイス用にビルドする場合は、適用できないリソースを省略します。たとえば、Retinaディスプレイのデバイス用にビルドする場合は、1xリソースを除外します。

8. オンデマンドリソースを有効にする (ENABLE_ON_DEMAND_RESOURCES)

有効にすると、タグ付けされたアセット—ファイルおよびアセットカタログ・エントリ—は、タグの組み合わせに基づいてアセット パックに組み込まれます。タグ付けされていないリソースは、通常どおりに扱われます。

9. プレビューを有効にする (ENABLE_PREVIEWS)

有効にすると、プレビューをサポートするための適切なオプションを使用して、プロダクトがビルドされます。

10. objc_msgSendコールの厳密なチェックを有効にする (ENABLE_STRICT_OBJC_MSGSEND)

「objc_msgSend」コールが呼び出される前に、適切な関数ポインター型にキャストする必要があるかどうかを制御します。

11. テスト容易性を有効にする (ENABLE_TESTABILITY)

この設定を有効にすると、プロダクトは自動テストを実行するのに適したオプションでビルドされ、プライベートなインターフェイスをテストにアクセスできるようになります。これにより、テスト可能性が有効になっていない場合よりも、テストの実行速度が遅くなる可能性があります。

12. 再帰検索で除外するサブディレクトリ (EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES)

これは、再帰検索を行なう際に除外するファイル名やディレクトリ名の「fnmatch()」形式のパターンのリストです。デフォルトでは、「*.nib *.lproj *.framework *.gch *.xcode (*) .DS_Store CVS .svn .git .hg」が設定されています。通常、この値をオーバーライドする場合は、「$(継承)」マクロを使ってデフォルト値を含める必要があります。

13. 除外されたソースファイル名 (EXCLUDED_SOURCE_FILE_NAMES)

ターゲットのビルドフェーズでファイルを処理する際に、明示的に除外するソースファイル名を指定する(「fnmatch(3)」で定義される)パターンのリストです(含まれるソースファイル名 (INCLUDED_SOURCE_FILE_NAMES)も参照のこと)。この設定は、他のビルド設定に応じてフェーズからのファイルをビルドする必要がある複雑なフィルタを定義する為に使用できます;例えば、「*.$(CURRENT_ARCH).c」の値は、ビルドされるアーキテクチャに基づく、特定のファイルを除外するのに役立ちます。

14. EXECUTABLES_FOLDER_PATH

追加のバイナリファイルを格納しているディレクトリを指定します。

15. 実行可能な拡張機能 (EXECUTABLE_EXTENSION)

これは、ターゲットが生成した実行可能なプロダクトに使用される拡張機能で、プロダクトの種類に基づいてデフォルト値があります。

16. EXECUTABLE_FOLDER_PATH

ターゲットをビルドする、バイナリが格納されるディレクトリを指定します。

17. EXECUTABLE_NAME

ターゲットを生成する、バイナリの名前を指定します。

18. EXECUTABLE_PATH

ターゲットがバンドル内で生成する、バイナリへのパスを指定します。

19. 実行可能プレフィックス (EXECUTABLE_PREFIX)

ターゲットが生成する実行可能プロダクトに使用するプレフィックスで、プロダクトの種類に応じてデフォルト値があります。

20. EXECUTABLE_SUFFIX

バンドル名の他の部分と拡張子を区切る文字を含む、バイナリファイル名のサフィックスを指定します。

21. エクスポートされたシンボルファイル (EXPORTED_SYMBOLS_FILE)

これは、エクスポートするシンボルのリストを含むファイルへのプロジェクト関連パスです。シンボルのエクスポートの詳細については「ld -exported_symbols_list」を参照してください。

この記事が気に入ったらサポートをしてみませんか?