Проблемы с загрузкой моего сбоя iOS в crashlytics из теста, созданного с помощью Jenkins

В разделе Xcode Target Build Phases у меня есть скрипт, который включает аварийную аналитику для моего приложения iOS. Это определяется переменной ENABLE_CRASHLYTICS и тем, установлена ​​она или нет. Я могу успешно загрузить принудительный сбой при развертывании из моего локального Xcode на устройство, поэтому скрипт работает правильно.

Однако, когда дело доходит до сборки через мою работу Jenkins, сбои не загружаются. Я вижу, что мой скрипт из фаз сборки работает, но переменная ENABLE_CRASHLYTICS не установлена, и, следовательно, крашлитика отключена, поэтому отчеты о сбоях из этой тестовой сборки, распространяемой через HockeyApp, отсутствуют.

В моей работе Jenkins на этапе Build -> Execute Shell у меня есть

ENABLE_CRASHLYTICS=1

Я пропустил что-то еще?

Спасибо!


person m.y    schedule 29.04.2015    source источник


Ответы (1)


Проблема в том, что вы экспортируете переменную среды ENABLE_CRASHLYTICS на шаге «Выполнение оболочки». После завершения шага оболочки эта среда исчезает — переменные не будут перенесены на последующие шаги сборки.

Таким образом, к моменту выполнения шага сборки Xcode эта конкретная переменная среды больше недоступна.

Вы также можете использовать плагин EnvInject для внедрения переменных среды во время сборки. Переменные, настроенные с помощью этого плагина, будут доступны для всех последующих шагов сборки.

person Christopher Orr    schedule 29.04.2015
comment
Спасибо! это было :) - person m.y; 30.04.2015