Не удалось завершить отправку dSYM при миграции с фабрики на базовую базу для аварийных сбоев

12

Я использую xcode11 с Mac OS 10.14.1. Я реализовал матрицу для миграции с использованием следующей документации.

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-ios-developer-7b61a8b40008

И я сгенерировал код для тестирования аварии, но этот отчет не может появиться в консоли firebase crashlytics. Я использовал следующий документ для этой реализации

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

Я также добавил следующий скрипт запуска на этапах сборки XCode

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

Но это вернет следующую ошибку при запуске приложения.

31merror: Не удалось завершить отправку dSYM по адресу /Users/macmini1/Library/Developer/Xcode/DerivedData/app_name-dnzsvdsxebmfqjbjecjlyhdzwags/Build/Products/Debug-iphonesimulator/app_name.rasc.mash.Y.Sch.YD =. -domain.process-dsym Code = 3 "Файл больше не существует в (null)" UserInfo = {NSLocalizedFailureReason = Файл больше не существует в (null)} [0m Ошибка выполнения команды PhaseScriptExecution с ненулевым кодом выхода

Не могли бы вы помочь мне, как решить эту проблему

IKKA
источник
Вы все еще испытываете проблему. Firebase имеющий OMG , который , влияющими разработчикам загружать dSYMs
Зубайр
привет, я застрял в той же проблеме, вам повезло с этим? Ответ от @ weet1988 не исправить мою проблему (это уже последний сценарий , выполняющийся в моем случае)
Mikey
1
@mikey Я удалил сценарий из сценария запуска и снова добавил, а также закрыл xcode. Затем попытался запустить снова. Это будет работать
IKKA
Я на самом деле заставил Crashlytics работать без upload-symbolsсценария. Я просто обновил модули до последней доступной версии и убедился, что $ {PODS_ROOT}/Fabric/runпоследняя была запущена. Спасибо за ответ @IKKA
Mikey
@mikey Вы имели в виду, что вы используете только команду $ {PODS_ROOT} / Fabric / run в runScript; правильно?
IKKA

Ответы:

5

У меня такая же проблема. Причина была в том, что сценарий "$ {PODS_ROOT} / Fabric / run" был не последним в списке сценариев на этапах сборки. Сделал скрипт последним и все стало ок.

weet1988
источник
2
Мой сценарий последний, но я все еще получаю эту ошибку ...
Данпе
5

Я решил, добавив findкоманду. Добавить команду поиска над символами загрузки

Пример :

найти "$ {DWARF_DSYM_FOLDER_PATH}" -имя "* .dSYM" | xargs -I {} $ PODS_ROOT / Fabric / upload-символы -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios {}

"$ {PODS_ROOT} / Fabric / upload-символы" -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"

Рамеш РЦ
источник
Нужно ли загружать другие файлы .dSYM, которые не являются $ {DWARF_DSYM_FILE_NAME}?
CyberMew
@ CyberMew, не обязательно загружать все файлы .dSYM. вы правы. Таким образом, мы можем найти только тот файл, который нам нужен для загрузки. Я изменил свой ответ.
Рамеш RC
Я полагаю, что ваш первоначальный ответ о загрузке всех файлов .dSYM правильный. Я проверил с поддержкой, и они отметили, что «Crashlytics будет требовать файлы символов из вашего основного приложения вместе с символами из любой используемой платформы или библиотеки», поэтому в основном да, все файлы символов требуются.
CyberMew
Это супер круто! Когда я загружаю все файлы .dSYM в тестовый полет, я получаю предупреждение «ITMS-90381: Слишком много файлов символов». Есть идеи?
Рамеш RC
Загрузить в test flight? Вы имеете в виду Firebase Crashlytics вместо этого? Я не уверен, поскольку я не сталкивался с этим раньше, возможно, вы можете попробовать это решение stackoverflow.com/questions/25755240/… , если оно не работает, свяжитесь со службой поддержки и дайте нам знать, что они говорят!
CyberMew