Xcode 快取{#xcode-cache}
Tuist 提供對 Xcode 編譯快取的支援,可讓團隊利用建立系統的快取功能來分享編譯工件。
設定{#setup}#
- ATuist帳號與專案
- Xcode 26.0 或更新版本
如果您還沒有 Tuist 帳戶和專案,可以執行下列步驟來建立:
tuist init
一旦您有一個Tuist.swift 檔案引用您的fullHandle ,您就可以為專案執行快取設定:
tuist setup cache
此指令會建立一個 LaunchAgent 來在啟動時執行本機快取服務,Swift build system 會使用此服務來分享編譯工件。此指令需要在本機與 CI 環境中執行一次。
若要在 CI 上設定快取,請確定您已 驗證。
設定 Xcode 建立設定{#configure-xcode-build-settings}#
將下列建立設定新增至您的 Xcode 專案:
COMPILATION_CACHE_ENABLE_CACHING = YES
COMPILATION_CACHE_REMOTE_SERVICE_PATH = $HOME/.local/state/tuist/your_org_your_project.sock
COMPILATION_CACHE_ENABLE_PLUGIN = YES
COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS = YES
請注意,COMPILATION_CACHE_REMOTE_SERVICE_PATH 和COMPILATION_CACHE_ENABLE_PLUGIN
需要新增為user-defined build settings ,因為它們並沒有直接暴露在 Xcode 的 build settings UI 中:
套接字路徑會在執行tuist setup cache 時顯示。它以您專案的完整句柄為基礎,並以下劃線取代斜線。
您也可以在執行xcodebuild 時指定這些設定,方法是加入下列旗標,例如:
xcodebuild build -project YourProject.xcodeproj -scheme YourScheme \
COMPILATION_CACHE_ENABLE_CACHING=YES \
COMPILATION_CACHE_REMOTE_SERVICE_PATH=$HOME/.local/state/tuist/your_org_your_project.sock \
COMPILATION_CACHE_ENABLE_PLUGIN=YES \
COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS=YES
如果專案是由 Tuist 產生,則不需要手動設定。
在這種情況下,您只需要在Tuist.swift 檔案中加入enableCaching: true :
import ProjectDescription
let tuist = Tuist(
fullHandle: "your-org/your-project",
project: .tuist(
generationOptions: .options(
enableCaching: true
)
)
)
持續整合 #{continuous-integration}#
若要在 CI 環境中啟用快取,您需要執行與本機環境相同的指令:tuist setup cache 。
此外,您需要確保TUIST_TOKEN 環境變數已設定。您可以按照說明文件
這裡 建立一個。TUIST_TOKEN 環境變數_必須在您的建置步驟中出現_ ,但我們建議您在整個 CI
工作流程中都設定該變數。
GitHub Actions 的示例工作流程如下:
name: Build
env:
TUIST_TOKEN: ${{ secrets.TUIST_TOKEN }}
jobs:
build:
steps:
- # Your set up steps...
- name: Set up Tuist Cache
run: tuist setup cache
- # Your build steps