Skip to content

Кэш

Система сборки Xcode обеспечивает инкрементные сборки, повышая эффективность работы на одной машине. Однако артефакты сборки не разделяются между различными окружениями, что заставляет вас пересобирать один и тот же код снова и снова - либо в окружении Continuous Integration (CI), либо в локальном окружении разработки (на вашем Mac).

Tuist решает эти проблемы с помощью функции кэширования, значительно сокращая время сборки как в локальной разработке, так и в CI-средах. Такой подход не только ускоряет циклы обратной связи, но и минимизирует необходимость переключения контекста, что в конечном итоге повышает производительность.

Мы предлагаем два типа кэширования:

Кэш модулей#

Для проектов, использующих возможности Tuist по созданию проектов, мы предоставляем мощную систему кэширования, которая кэширует отдельные модули в виде двоичных файлов и передает их в вашу команду и CI-среду.

Хотя вы также можете использовать новый кэш Xcode, эта функция в настоящее время оптимизирована для локальных сборок, и вы, скорее всего, будете иметь более низкий коэффициент попадания в кэш по сравнению с кэшированием сгенерированных проектов. Однако решение о том, какое решение для кэширования использовать, зависит от ваших конкретных потребностей и предпочтений. Вы также можете комбинировать оба решения для достижения наилучших результатов.

Подробнее о Модуль кэш →

Кэш Xcode#

::: предупреждение STATE OF CACHE IN XCODE

Кэширование Xcode в настоящее время оптимизировано для локальных инкрементных сборок, и весь спектр задач сборки пока не является независимым от пути. Тем не менее, вы можете получить преимущества, подключив удаленный кэш Tuist, и мы ожидаем, что время сборки будет улучшаться со временем, поскольку возможности системы сборки продолжают совершенствоваться.

:::

Apple работает над новым решением для кэширования на уровне сборки, подобно другим системам сборки, таким как Bazel и Buck. Новая возможность кэширования доступна с Xcode 26, и Tuist теперь легко интегрируется с ней - независимо от того, используете ли вы генерацию проектов Tuist или нет.

Узнайте больше о кэше Xcode →