Конфигурации сборки, схемы и xcconfig: как развести Debug, Staging и Release?
Суть
- Build configuration — набор значений build settings:
Debug(без оптимизаций,DEBUGв условиях компиляции, удобная отладка) иRelease(оптимизации, dSYM, без отладочного кода). Конфигураций можно добавить сколько угодно, напримерStaging. - Scheme — что собирать и с какой конфигурацией для каждого действия: Run, Test, Profile, Analyze, Archive. По умолчанию Run и Test идут в Debug, Profile и Archive — в Release. Схему для CI отмечают как Shared, чтобы она лежала в
xcshareddataв репозитории. - Target — продукт (приложение, extension, тесты) со своими build settings.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep