2016-02-10 6 views
0

В настоящее время я работаю над конвейером CI/CD для приложения iOS.Постоянная доставка iOS, продвижение по службе

Приложение в настоящее время скомпилировано и выпущено для тестирования на автоматические тесты. На этом этапе приложение будет отправлять запросы на «test» api.

Если все тесты пройдены, сборка повышается до «постановки», на этом этапе сборка должна делать запросы к «промежуточной» апи.

Я не хочу перекомпилировать приложение, когда оно выпущено для постановки.

Что было бы лучшим способом изменить некоторые значения конфигурации в приложении без перекомпиляции?

Я думал следующим образом:

  • Измените .ipa файл на почтовый
  • разархивировать
  • Отредактируйте Plist (который будет содержать некоторые конфигурации вещи)
  • Rezip приложение
  • Изменить обратно в файл .ipa
+0

Только изменение значений plist может быть недостаточным. Есть и другие вещи, которые нужно учитывать. Как профили обеспечения, схемы на основе конфигурации, архитектуры и т. Д. – erenkabakci

ответ

1

AFAIK: когда n приложение подписано, оно подписано на основе содержимого .ipa. Таким образом, распаковка/редактирование/перепрошивка заставит iOS забрасывать ошибки на консоли, а не запускать приложение - содержимое .ipa больше не будет соответствовать подписанию.

Я не уверен, что вам удастся избежать перекомпиляции (или, по крайней мере, повторного подписания). Вы можете сделать это как часть CI, хотя, увидеть ответы на этот вопрос: How to re-sign the ipa file?

Вы бы существенно добавить это повторное подписание шаг в конце вашего предлагаемого процесса:

  • переименовывать .ipa файл на .zip
  • разархивировать
  • Редактировать PLIST (который будет содержать некоторые конфигурации вещи)
  • Rezip приложение
  • Переименовать обратно в файл .ipa
  • Re-sign .ipa file

Теоретически это должно работать. На практике я потратил много времени на то, чтобы попытаться сблизиться с работой. Удачи!

Смежные вопросы