В iOS Firebase Crashlytics отсутствует dSYM

Итак, я пытаюсь использовать Google Firebase Crashlytics

Я выполнил любые шаги из

https://docs.fabric.io/apple/crashlytics/missing-dsyms.htmlhttps://firebase.google.com/docs/crashlytics/upgrade-from-crash-reporting

Но он все еще не работает с Firebase Crashlytics.

В моем приложении "Установить битовый код" установлено значение НЕТ

Я попытался установить "Формат отладочной информации" в настройках сборки на "DWARF с dSYM"

Я попытался получить dSYM вручную из «Показать содержимое пакета» в моем заархивированном приложении (та же версия приложения), сжал его в zip-архив и загрузил в Firebase Crashlytics. Он показал, что загрузка прошла успешно, но сообщение dSYM все еще отсутствует.

Мой предыдущий загруженный dSYM не отображается на панели управления Firebase (я не уверен, что это предназначено или нет)

Итак, в основном мой сбой отправляется в Firebase Crashlytics, но он не может получить dSYM.

Может ли кто-нибудь посоветовать мне, как его использовать?

Майк из Firebase здесь. Если вы запустите dwarfdump -u <PathToDsym>, совпадает ли UUID загружаемого dSYM с тем, который указан как отсутствующий?

Mike Bonnell 05.06.2018 14:27

Привет, Майк, я новичок в разработке, не могли бы вы подробнее рассказать, как я выполняю указанную выше команду? Могу я просто запустить его в терминале? А как мне получить путь к dSYM? Благодарность

Alvin 06.06.2018 10:00

Да, запустите его в терминале на вашем MacOS и для пути, вы можете просто перетащить dSYM в терминал, и путь будет добавлен.

Mike Bonnell 06.06.2018 16:03

привет, сэр, извините за мой поздний ответ. Да, в моем содержимом пакета dsym есть один UUID, который соответствует UUID в fiirebase (отсутствует dSYM). Что мне нужно сделать? Благодарность

Alvin 28.06.2018 11:26

Хм, тогда это должно было помочь. Я бы рекомендовал обратиться в службу поддержки Firebase и также предоставить dSYM.

Mike Bonnell 28.06.2018 15:27

Я пробовал использовать несколько приложений, но возникла та же проблема. Спасибо, сэр, за вашу помощь!

Alvin 29.06.2018 10:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
6
6 564
3

Ответы 3

в вашем проекте Xcode в разделе "Фазы сборки" добавьте ниже сценарий запуска:

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

here is a image

нужно ли устанавливать флажок «Показывать переменные среды в журнале сборки»?

iNiravKotecha 26.02.2020 11:40

@iNiravKotecha Не думаю, по умолчанию проверено

Mahgol Fa 26.02.2020 12:28

Добавьте следующие скрипты на этапе сборки:

${PODS_ROOT}/Fabric/run

Входные файлы:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
$(BUILT_PRODUCTS_DIR)/${GOOGLE_INFO_PLIST_PATH}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

Добавить пользовательскую настройку:

GOOGLE_INFO_PLIST_PATH:     ${SRCROOT}/GoogleService-Info.plist

Для сценария ниже: Не проверить параметр запускать скрипт только при установке

${PODS_ROOT}/Fabric/upload-symbols -gsp ${GOOGLE_INFO_PLIST_PATH} -p ios ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}

Если вы используете новый FirebaseCrashlytics, замените Fabric на FirebaseCrashlytics в своем скрипте.

Я решил проблему с отсутствующим dSYM, выполнив следующие действия.

  1. На этапе сборки добавьте сценарий запуска, как показано ниже. Adding run script

  2. В настройках сборки включить битовый код в Да и Формат отладочной информации до DWARF с файлом dSYM, как показано ниже DWARF with dSYM File

  3. Загрузите dSYM вручную с помощью терминала, как показано ниже

(3.1) Открытый терминал

(3.2) В Xcode Project -> Pods -> Папка FirebaseCrashlytics -> Щелкните правой кнопкой мыши -> Показать в Finder, там вы найдете файл Upload_Symbols, как показано ниже. FirebaseCrashlyticsUpload_Symbols

(3.3) Перетащите файл загрузить символы в терминал Drag & Drop upload-symbols

(3.4) Введите -gsp в терминал с одним пробелом с обеих сторон.

(3.5) Найдите файл GoogleService-Info.plist в проекте xcode. Перетащите GoogleService-Info.plist в терминал, как показано ниже. GoogleService-Info.plist

(3.6) Введите -p ios в терминал с одним пробелом с обеих сторон.

(3.7) Найдите файл app.dSYM, как показано ниже
Xcode -> Windows -> Органайзер -> Выбрать архив -> Щелкните правой кнопкой мыши -> Показать в поисковике -> Выбрать архив -> Щелкните правой кнопкой мыши -> Показать содержимое пакета -> dSYMs -> Выбрать app.dSYM

(3.8) Перетащите файл app.dSYM в терминал, как показано ниже:
app.dSYM

(3.9) Enter, вы получите сообщение в консоли, как показано ниже
Success

(3.10) Попробуйте удалить и установить приложение на устройстве, пожалуйста, проверьте через некоторое время, проблема в firebase будет решена.

Другие вопросы по теме