2015-10-15 2 views
7

В разделе есть приложение «Приложения с несколькими средами», в котором предлагается использовать отдельную организацию для каждой версии.Ткань Crashlytics несколько сред для приложения iOS

Я создал 3 отдельных организаций за каждую конфигурацию сборки:

  • MyApp
  • MyApp (Debug)
  • MyApp (AdHoc)

Я получил условный в моем Запустить сценарий построения сценария, который запускает сценарий фреймворка Fabric с различными ключами API s и Build Secret s, и я могу подтвердить, что условный код попадает вправо, но я до сих пор не обновляю API-ключи в моем plist (что я предполагаю, что использует Fabric). Кажется, что Fabric отправляет мои аварии на последний ключ/организацию API, который я на борту с помощью приложения Fabric. Есть что-то, что мне не хватает? Я знаю, что могу использовать [Crashlytics initWithApiKey:@""], но из того, что я прочитал, это считается устаревшим кодом.

Вот мой Run Script Строить Фаза:

if [ "${CONFIGURATION}" = "Distribution" ]; then 
echo "Building Fabric for Distribution." 
./Fabric.framework/run dist_api_key dist_build_secret 
fi 

if [ "${CONFIGURATION}" = "AdHoc" ]; then 
echo "Building Fabric for AdHoc." 
./Fabric.framework/run adhoc_api_key adhoc_build_secret 
fi 

if [ "${CONFIGURATION}" = "Debug" ]; then 
echo "Building Fabric for Debug." 
./Fabric.framework/run debug_api_key debug_build_secret 
fi 

The original Q/A

+0

'plist' или любой файл в приложениях расслоение' чтения only', так что вы не были в состоянии написать свой ключ API для Plist! Использование пользовательских ключей в 'Build settings' действительно отличная идея. – Saif

ответ

11

В попытке получить эту работу я сделал это:

  1. добавлять пользовательские определяемые пользователем настройки для параметров сборки , например MY_CRASHLYTICS_API_KEY и MY_CRASHLYTICS_BUILD_SECRET
  2. заменить бетон APIKey в Info.plist под ткань группы с ${MY_CRASHLYTICS_API_KEY}
  3. добавить соответствующие API Key с и сборки Секретные с от организаций, которые вы создали в среде для сборки установок под ключ от шага 1
  4. изменения сценарий в фазе Run Script, чтобы быть чем-то вроде ниже
  5. конфигурационных приложений через Crashlytics Mac виджет. Это тоже непростая часть. Приложения добавляются в ваши организации только тогда, когда они работают с конфигурацией Debug. Причина в том, что приложение должно оставаться на некоторое время и работать, поэтому Crashlytics может отследить его. Это потребовало от меня изменить Api Keys и Build Secrets как для скрипта, так и для параметра «Параметры сборки» и получить зарегистрированное приложение. После этого я смог изменить Info.plist, чтобы использовать среду var из настроек сборки.

Сценарий запуска:

echo "Running Crashlytics (${CONFIGURATION})" 
"${PODS_ROOT}/Fabric/Fabric.framework/run" ${MY_CRASHLYTICS_API_KEY} ${MY_CRASHLYTICS_BUILD_SECRET} 
Смежные вопросы