Кэш
Система сборки 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 →