iOS Firebase Crash Reporting Загрузка файлов символов

Я интегрировал отчеты о сбоях Firebase в свое приложение через стручки какао. Я создал скрипт запуска ext.

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

Раньше я пользовался хоккейным приложением. И в приложении для хоккея я использую приложение Mac для хоккея, чтобы загрузить файл символов, когда захочу. Например, когда моя разработка и тесты разработчиков заканчиваются, я выпускаю сборку add hoc, а затем отправляю файлы символов в хоккейное приложение.

Итак, мой вопрос: каков наилучший вариант использования отчетов о сбоях firebase? Могу ли я загружать файлы символов до выпуска add hoc или выпуска App Store? (Не каждый раз)

Или можно отключить «скрипт запуска» для загрузки файла символа в сборках симулятора.


person Arda Dogantemur    schedule 19.09.2016    source источник


Ответы (4)


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

Это гарантирует, что он будет запускаться только при архивировании приложения, а не во время разработки (например, при выпуске нашего приложения в дикую природу).

скриншот

person Harry Bloom    schedule 25.05.2017
comment
Я думал, что разорву этого парня, думая, что сценарий запуска только при установке также будет запускаться при установке сборки на устройстве, но нет, это работает только во время архивирования. Я не уверен, в чем логика этого флажка, но это правильный ответ! - person Dannie P; 03.11.2017

Кажется, вы ищете что-то вроде этого:

if [ ${PLATFORM_NAME} != "iphonesimulator" ]; then
    echo "Uploading Firebase Crash Symbols..."

    # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
    GOOGLE_APP_ID=1:my:app:id

    # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "/Path/To/ServiceAccount.json"
fi

Так что, по крайней мере, он запускается и загружает символы только тогда, когда вы создаете что-то, что не является симулятором.

person dbburgess    schedule 19.09.2016
comment
Спасибо, это хороший ответ. Но это не может решить мою проблему. Потому что у меня есть 2 конфигурации: 1 отладочная и 1 релизная. Отладка подключается к тесту, а выпуск подключается к производственной среде. Поэтому я также отправляю тестовые сборки addhoc, и их нужно отслеживать. Итак, мои вопросы: я просто хочу предотвратить отправку файлов символов, когда я использую симулятор. Является ли это возможным? - person Arda Dogantemur; 21.09.2016
comment
Ах я вижу. Это имеет смысл, да. Я обновил свой ответ соответственно. - person dbburgess; 21.09.2016

Это загрузит символы только для конфигурации сборки release:

echo configuration is $CONFIGURATION

if [ $CONFIGURATION == Release ]; then

    echo uploading symbols

    # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
    GOOGLE_APP_ID=1:************

    # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}/GoogleServiceAccount.json"

else

    echo skipping symbols upload

fi
person Dannie P    schedule 03.12.2016
comment
не помогает в моей среде. Когда я запускаю режим выпуска, xcode зависает, запуская пользовательский сценарий оболочки. В режиме Dev все работает нормально - person Kingalione; 02.11.2017
comment
@Kingalione, возможно, вы захотите проверить свой журнал сборки. Баш если-то вряд ли что-то повесит. - person Dannie P; 03.11.2017

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

person Doug Stevenson    schedule 19.09.2016
comment
Итак, вы предлагаете; удалите сценарий запуска и добавьте его, когда вы делаете выпуск add hoc и app store. Правильно ли я понял? Но мне нужно автоматизировать этот поток. Является ли это возможным? - person Arda Dogantemur; 21.09.2016
comment
Вам не нужно ничего удалять. Просто запускайте его вручную или из другого скрипта только в то время, когда это необходимо. - person Doug Stevenson; 21.09.2016