Выбор ответа Middle Сборка и публикация в App Store обновлено

Окружения dev, stage, prod

Вопрос

Как удобнее всего собирать приложение для разных окружений (адрес API, Bundle ID, иконка)?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Build configurations со своими .xcconfig и схемы для них. Конфигурации (Debug-Dev, Release-Prod и т. п.) с .xcconfig задают параметры сборки: Bundle ID, имя, иконку, значения для Info.plist, флаги компиляции.

Варианты ответа

  1. Менять константы в коде перед каждой сборкой и коммитить
  2. Build configurations со своими .xcconfig и схемы для нихправильный ответ
  3. Один таргет и if по названию устройства или симулятора
  4. Отдельная ветка git под каждое окружение со своими значениями

Разбор

Конфигурации (Debug-Dev, Release-Prod и т. п.) с .xcconfig задают параметры сборки: Bundle ID, имя, иконку, значения для Info.plist, флаги компиляции. Схема выбирает конфигурацию для запуска и архивации, и это прозрачно работает на CI. Ручная правка констант ведёт к релизу с тестовым API. Ветки на окружения быстро расходятся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме