Skip to content

翻訳 🌍

このページの翻訳を行ったり、改善したりすることができます。

コントリビュートする

Xcodeキャッシュ

TuistはXcodeコンパイルキャッシュのサポートを提供し、ビルドシステムのキャッシュ機能を活用することで、チームがコンパイル成果物を共有することを可能にする。

セットアップ

まだTuistのアカウントとプロジェクトを持っていない場合は、Tuistを起動してアカウントを作成することができる:

bash
tuist init

fullHandle を参照するTuist.swift ファイルを用意したら、これを実行することでプロジェクトのキャッシュを設定できる:

bash
tuist setup cache

このコマンドは、Swift の ビルドシステム がコンパイルの成果物を共有するために使用する、起動時にローカルのキャッシュサービスを実行する LaunchAgent を作成します。このコマンドはローカルと CI 環境の両方で一度実行する必要があります。

CIでキャッシュを設定するには、認証されていることを確認してください。

Xcodeのビルド設定を構成する

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_PATHCOMPILATION_CACHE_ENABLE_PLUGIN は、Xcodeのビルド設定UIで直接公開されていないため、ユーザー定義のビルド設定 として追加する必要があることに注意してください:

::情報 SOCKET PATH

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 を追加するだけでよい:

swift
import ProjectDescription

let tuist = Tuist(
    fullHandle: "your-org/your-project",
    project: .tuist(
        generationOptions: .options(
            enableCaching: true
        )
    )
)

継続的インテグレーション#{continuous-integration}。

CI環境でキャッシュを有効にするには、ローカル環境と同じコマンドを実行する必要がある:tuist setup cache.

さらに、TUIST_CONFIG_TOKEN 環境変数が設定されていることを確認する必要があります。こちらのドキュメントに従って作成できます。TUIST_CONFIG_TOKEN 環境変数__ がビルドステップに存在する必要がありますが、CIワークフロー全体に設定することをお勧めします。

GitHub Actions のワークフローの例は次のようになります:

yaml
name: Build

env:
  TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}

jobs:
  build:
    steps:
      - # Your set up steps...
      - name: Set up Tuist Cache
        run: tuist setup cache
      - # Your build steps

Released under the MIT License.