По умолчанию Firebase Crashlytics автоматически обрабатывает ваши файлы символов отладки (dSYM), чтобы предоставить вам деобфусцированные и удобочитаемые отчеты о сбоях. Это поведение устанавливается, когда вы добавляете сценарий запуска, который инициализирует Crashlytics, на этапе сборки вашего приложения.
К сожалению, есть несколько случаев, которые могут привести к сбою загрузки dSYM, например битовый код в вашем приложении или другие уникальные конфигурации проекта. В этом руководстве представлены некоторые способы устранения неполадок, когда Crashlytics не может найти dSYM вашего приложения.
Проверьте, создает ли Xcode dSYM
Чаще всего файлы dSYM пропадают, потому что Xcode их просто не создает. В случае сбоя загрузки Crashlytics отображает предупреждение «Отсутствует dSYM» в консоли Firebase. Если вы получили это предупреждение, сначала убедитесь, что Xcode создает правильный dSYM для каждой сборки:
Откройте свой проект в Xcode и выберите файл проекта в Xcode Navigator.
Выберите основную цель сборки.
Откройте вкладку Build Settings цели, затем нажмите All .
Найдите «формат отладочной информации».
Установите для формата отладочной информации значение DWARF с файлом dSYM для всех ваших типов сборки.
Перестройте свое приложение.
Теперь ваши отчеты о сбоях должны появиться в консоли Firebase. Если проблема не устранена или вы столкнулись с другими ошибками, попробуйте найти свой dSYM и загрузить его в Crashlytics вручную.
Найдите свои dSYM
Иногда Crashlytics не может найти dSYM вашего приложения из-за конфигурации битового кода или подключения консоли. В этом случае есть два дополнительных способа устранения неполадок:
Загрузите свои dSYM
Чтобы загрузить файлы dSYM вручную, вы можете использовать консольную опцию «Перетаскивание», чтобы загрузить zip-архив, содержащий ваши файлы dSYM (перейдите в консоль Firebase > Crashlytics > вкладка dSYM ).
Кроме того, в качестве резервной копии Crashlytics включает скрипт upload-symbols
, который вы можете вызвать из любого места процесса сборки, чтобы вручную загрузить файлы dSYM. Сценарий предоставляет дополнительную информацию о процессе загрузки и более подробные сообщения об ошибках (для получения примечаний по использованию и дополнительных инструкций запустите upload-symbols
без каких-либо параметров).
При загрузке файлов dSYM с битовым кодом может быть полезно удалить все файлы значков в zip-архиве, выполнив:
unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)
Чтобы запустить скрипт upload-symbols
, используйте один из следующих вариантов:
Включите следующую строку в процесс сборки:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
Запустите скрипт прямо из вашего терминала:
/PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs