# Pamięć podręczna Xcode {#xcode-cache} Tuist zapewnia obsługę pamięci podręcznej kompilacji Xcode, która umożliwia zespołom udostępnianie artefaktów kompilacji poprzez wykorzystanie możliwości buforowania systemu kompilacji. ## Konfiguracja {#setup} ::: ostrzeżenie WYMAGANIA - Konto i projekt Tuist - Xcode 26.0 lub nowszy ::: Jeśli nie masz jeszcze konta i projektu Tuist, możesz je utworzyć, uruchamiając aplikację: ```bash tuist init ``` Gdy masz już plik `Tuist.swift` odwołujący się do twojego `fullHandle`, możesz skonfigurować buforowanie dla swojego projektu, uruchamiając go: ```bash tuist setup cache ``` To polecenie tworzy [LaunchAgent](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html), aby uruchomić lokalną usługę pamięci podręcznej podczas uruchamiania, której [system kompilacji](https://github.com/swiftlang/swift-build) Swift używa do udostępniania artefaktów kompilacji. Polecenie to należy uruchomić raz zarówno w środowisku lokalnym, jak i CI. Aby skonfigurować pamięć podręczną na CI, upewnij się, że jesteś uwierzytelniony. ### Konfiguracja ustawień kompilacji Xcode {#configure-xcode-build-settings} Dodaj następujące ustawienia kompilacji do projektu 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 ``` Należy pamiętać, że `COMPILATION_CACHE_REMOTE_SERVICE_PATH` i `COMPILATION_CACHE_ENABLE_PLUGIN` muszą zostać dodane jako **zdefiniowane przez użytkownika ustawienia kompilacji**, ponieważ nie są one bezpośrednio dostępne w interfejsie ustawień kompilacji Xcode: ::: info SOCKET PATH Ścieżka gniazda zostanie wyświetlona po uruchomieniu `tuist setup cache`. Jest ona oparta na pełnej nazwie projektu z ukośnikami zastąpionymi podkreślnikami. ::: Ustawienia te można również określić podczas uruchamiania `xcodebuild`, dodając następujące flagi, takie jak ``` 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 ``` ::: info GENERATED PROJECTS Ręczne konfigurowanie ustawień nie jest konieczne, jeśli projekt został wygenerowany przez Tuist. W takim przypadku wystarczy dodać `enableCaching: true` do pliku `Tuist.swift`: ```swift import ProjectDescription let tuist = Tuist( fullHandle: "your-org/your-project", project: .tuist( generationOptions: .options( enableCaching: true ) ) ) ``` ::: ### Ciągła integracja #{ciągła-integracja} Aby włączyć buforowanie w środowisku CI, należy uruchomić to samo polecenie, co w środowisku lokalnym: `tuist setup cache`. Dodatkowo należy upewnić się, że ustawiona jest zmienna środowiskowa `TUIST_TOKEN`. Można ją utworzyć, postępując zgodnie z dokumentacją tutaj. Zmienna środowiskowa `TUIST_TOKEN` _ musi_ być obecna w kroku kompilacji, ale zalecamy ustawienie jej dla całego przepływu pracy CI. Przykładowy przepływ pracy dla GitHub Actions mógłby wyglądać następująco: ```yaml 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 ```