Skip to main content

Xcode コンパイルキャッシュに関するよくある質問

Xcodeコンパイルキャッシュを使用するための要件は何ですか?

Xcode 26が必要で 明示的にビルドされたモジュールが有効になっている (Swift ターゲットの場合は Xcode 26 のデフォルト)

これはSwiftパッケージマネージャーの依存関係でも機能しますか?

2025年9月現在、Xcode 26ベータ版ではSPMの依存関係はキャッシュできません。Apple はこれに取り組んでおり、将来利用可能になるはずです。

キャッシュできないビルドタスクはどれですか?

CompileStoryboardCompileXIBCompileAssetCatalogVariantPhaseScriptExecutionDataModelCompileCopyPNGFileGenerateDSYMFile、および Ld タスクは現在キャッシュできません。

Xcodeテストをスピードアップできますか?

Xcode コンパイルキャッシュはコンパイル時間の短縮に役立ちます。つまり、ビルドアクションとアーカイブアクションが最もメリットがあるということです

Xcode Test の場合、テストのコンパイルは速くなりますが、テストの実行は速くなりません。

Xcode コンパイルキャッシュのパフォーマンス上の利点をテストするには、でテストすることをお勧めします ワークフロー どのコマンドが実行されるか Xcode アーカイブ または テスト用の Xcode ビルド (またはその他のビルドコマンド)。

Xcodeのコンパイルキャッシュを一時的に無効にするにはどうすればいいですか?

呼び出し時にコンパイルキャッシュを一時的に無効にしたい場合は、次のコマンドを実行することで PATH をオーバーライドして設定したラッピングを削除できます。

export PATH="${PATH#"$HOME/.bitrise-xcelerate/bin:"}"

Bitrise Build Cache CACHE CLIが存続し、PATHがオーバーライドされるので、これは次のターミナルセッションで元に戻されることに注意してください~/.zshrcそして ~/.bashrc

これをBitriseのステップ間で持続させるには、envmanでパスを再度設定します。

 envmand add --key PATH --value "$PATH"

コンパイルキャッシュのビルドフラグを手動で渡すには?

プロジェクトごとに手動でコンパイルキャッシュを有効にするには、で必要なフラグを渡すことを無効にできます Xcode 用ビルドキャッシュ ステップ (Bitrise CI の場合) を使用して xcodebuild にキャッシュフラグを渡すのをスキップしてください ステップ入力。Bitrise ビルドキャッシュ CLI をローカルで使用している場合は、以下を渡すことができます --cache-skip-flag あなたに activate xcode コマンド。

この場合、ビルドごとに手動でフラグを設定するか、プロジェクトのビルド設定で設定する必要があります。「コンパイルキャッシュを有効にする」や「明示的にビルドされたモジュール」など、Xcode IDE にすでに名前付きのバージョンがある場合もあります。デフォルトで渡されるフラグは次のとおりです

- "COMPILATION_CACHE_ENABLE_PLUGIN":               "YES"
- "COMPILATION_CACHE_ENABLE_INTEGRATED_QUERIES":   "YES"
- "COMPILATION_CACHE_ENABLE_DETACHED_KEY_QUERIES": "YES"
- "SWIFT_ENABLE_COMPILE_CACHE":                    "YES"
- "SWIFT_ENABLE_EXPLICIT_MODULES":                 "YES"
- "SWIFT_USE_INTEGRATED_DRIVER":                   "YES"
- "CLANG_ENABLE_COMPILE_CACHE":                    "YES"
- "CLANG_ENABLE_MODULES":                          "YES"

Learn more on how we pass these flags on Bitrise in this blog post.

Xcode インデックスデータストアに依存するツールについてはどうですか?

Xcodeは以下を生成しません Index.noindex/DataStore DerivedData に格納されます。タスクがインデックスデータストアに依存していると、エラーが発生する可能性があります

以下が生成するエラーの例です ペリフェリー インデックスデータストアが見つからない場合:

error: Internal Error: index store path does not exist: /Users/vagrant/Library/Developer/Xcode/DerivedData/.../Index.noindex/DataStore

現在、これに対する解決策はありません。回避策としては、インデックスデータストアに依存しないすべてのステップとワークフローでBitrise Build Cache for Xcodeを使用し、インデックスデータストアに依存するステップはXcode用のBitrise Build Cacheを設定しない別のワークフローで実行することです