Intereting Posts
Что является более эффективным способом предотвращения двойного срабатывания? Swift: добавить пользовательский UIView программно нужен простой пример для синтаксического анализа libxml2 DOM на iOS Iphone как построить интерфейс для обоих разрешений 640X960 и 320X480? Программный отмена выбора маршрута MPVolumeView Приложение зависает, когда метод didReceiveChallenge называется Скрыть заголовок первого раздела TableView, сгруппированный в UITableViewController – Swift 3 – Xcode8 Пытается скрыть разделитель UITableViewCell, используя вставки, но только уменьшает непрозрачность Не удается получить доступ к кнопке возврата контроллера навигации Как указать путь к локализованному файлу Info.plist Когда searchController активен, изменения стиля строки состояния Просмотр «Нет маршрута к хосту» при отправке ответа 200 OK на INVITE Как передать обработчик завершения C ++ в NSURLSessionDataTask для обработки возвращаемых данных? На листе iOS Sharing распознаются все социальные приложения на устройстве? Сохранение контекста управляемого объекта создает тупик в исполнении iOS 5.

Лучший способ изменения между серверами в iOS-разработчике

У нас есть разные среды с различными серверами, такими как:

  • Производственная среда с производственным сервером.
  • Промежуточная среда с промежуточным сервером.

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

Если у вас есть страница настроек, добавьте запись в версию DEBUG, которая позволяет вам изменить, какой сервер использовать.

Или у вас две цели: одна для постановки и одна для производственного сервера.

Один из лучших способов сделать это – создать ServiceEnvironment.plist, который содержит конечные точки для различных служб. Каждый словарь указывает на определенную конфигурацию. При запуске приложения вы устанавливаете предупреждение о действии, которое позволяет тестеру выбирать среду. Затем все конечные точки должны быть получены из выбранной среды. Вы также можете использовать набор настроек для настройки среды.

[ServerEnvironment showAvailableConfigsWithCompletionHandler:^(UInt32 selectedConfigIndex) { [ServerEnvironment setCurrentConfig:servers[selectedConfigIndex]]; }]; 

Вы можете использовать оповещение о предупреждении или действии, а в обработчике завершения оповещения выяснить, какая кнопка была нажата, и использовать ее в качестве индекса в массиве servers чтобы получить словарь конечных точек. Затем используйте [ServerEnvironment currentConfig] во всех местах, где вы получите конечную точку. Например, [[ServerEnvironment currentConfig] objectForKey:@"loginWebService"]

Мы создали тот, который может помочь с этим, он называется Backdrop .

С его помощью вы можете:

  • Определите, какие части конфигурации вашего приложения отличаются друг от друга.
  • В командной строке запустите инструмент, например:

Пример:

 ./backdrop.swift --select production 

Мы используем этот инструмент для:

  • Переключение между средами при кодировании
  • Попросите наш сервер сборки обновить встроенную версию нашего приложения, когда мы будем нажимать ветку. Например, загрузка продукции в приложение для пробного полета производства, а также для постановки, с другим значком, URL-адресом сервера и т. Д.

Мы являемся компанией других популярных библиотек с открытым исходным кодом, таких как Typhoon , Frankencover.it и XcodeEditor .

Если вы хотите, чтобы какая-то помощь начиналась с фона, мы были бы рады предоставить руку на StackOverflow или на трекер проекта.

NB: Фон требует восстановления, поэтому, возможно, не полностью подходит для ваших конкретных потребностей. Я хотел бы упомянуть в любом случае.

В каждом ответе, указанном выше, вам нужно будет перестроить приложение. создайте текстовый файл со словом DEV, прочитайте файл программно во время выполнения.

Если этот файл содержит DEV, используйте базовый URL DEV.

Каждый раз, когда необходимо изменить среду, просто замените DEV на PROD в этом текстовом файле

создайте функцию, которая вернет URL-адрес dev или URL-адрес Prod-URL в этом файле txt.

Один из способов сделать это – создать различные схемы для производства, разработки и т. Д.

введите описание изображения здесь

Затем каждая схема зависит от собственной конфигурации сборки. В «Настройках сборки» вы можете определить константы в разделе «Пользовательский» для использования разных конфигураций в зависимости от используемой вами схемы.

введите описание изображения здесь

Btw, записи DevServicesConfiguration и ServicesConfiguration ссылаются на файлы .plist с URL-адресами и т. Д., Настроенные для каждой конкретной среды.

РЕДАКТИРОВАТЬ

Параметры настройки «Пользовательский» могут быть включены, как показано на изображении: введите описание изображения здесь