При работе с любым iOS-приложением нам необходимо создать приложение для нескольких сред, например Разработка, Производство, UAT, Контроль качества. Сейчас для любого приложения становится обычной практикой интегрировать социальные сети, аналитику, отчет о сбоях, сторонние инструменты, пакеты SDK внутри приложения. Каждая из этих сред имеет разные наборы URL-адресов, указывающих на эти серверы, ключи для этих социальных сетей, аналитики, отчетов о сбоях, сторонних инструментов, SDK.

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

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

Создать новый проект:

когда мы создаем новый проект, выберите свой проект в навигаторе проектов и перейдите на вкладку информации, он автоматически поставляется с 1 схемой (названной с именем проекта) и 2 конфигурациями (названными «Отладка» и «Выпуск») без какого-либо файла конфигурации.

Создание конфигураций:

Мы продолжим создание сред Разработки, Производства, UAT, QA. Итак, мы создадим по 4 конфигурации для каждой среды.

Нажмите кнопку + под вкладкой конфигурации, выберите «дублировать отладку» для каждой новой конфигурации и укажите для нее имя.

Добавление схем Xcode:

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

  1. Щелкните текущую схему, выберите «Новая схема» в появившемся меню.
  2. Назовите новую схему Development.
  3. Выбрав новую схему, щелкните схему и выберите в меню «Редактировать схему».
  4. Выберите Run Configurable на левой панели, откройте вкладку Info вверху и установите для параметра Build Configuration значение Development.
  5. Создайте схему Xcode для конфигураций UAT , QA и Production, повторив описанные выше шаги.

Добавление файла настроек конфигурации:

Добавьте файл настроек конфигурации в свой проект.

  1. Выберите проект на панели навигатора проектов.
  2. Нажмите кнопку + ниже в панели навигатора проекта. Выберите вариант файла.
  3. Выберите другое в разделе iOS. Выберите файл настроек конфигурации. Нажмите "Далее. Назовите его и добавьте.
  4. повторите 1–3 для каждой конфигурации.

Выберите файлы конфигурации для конфигураций:

Выберите «Проект» на панели «Навигатор проектов». Перейдите в раздел конфигурации. Разверните Development, выберите для него файл конфигурации development во всех трех разделах.

Повторите вышеуказанный процесс для UAT , QA и Production.

Добавление переменных среды в файл конфигурации:

Добавьте свои записи в файлы конфигурации, т.е. я добавлю некоторый ключ для Base_url и протокола для вызова веб-службы.

BASE_URL = fameplus-api.qa3.intelligrape.net PROTOCOL = http

Добавьте переменные среды в Info.plist:

Также добавьте записи в файл info.plist.

Код для получения переменных среды:

Теперь, чтобы получить базовый URL-адрес и протокол из info.plist, используйте следующий код.

baseUrl = [[NSBundle mainBundle] infoDictionary][@"BaseUrl"]; protocol = [[NSBundle mainBundle] infoDictionary][@"Protocol"];

Теперь выберите конкретную схему для запуска приложения в определенной среде.