Проблемы с загрузкой файла символов - FCR_PROD_VERS: не установлено

У меня возникли проблемы с загрузкой файлов символов для отчетов о сбоях Firebase.

Используя командную строку, когда я перехожу к моей папке проекта Xcode и запускаю команду в соответствии с инструкциями:

./Pods/FirebaseCrash/batch-upload XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

Я получаю следующую ошибку:

FCR_PROD_VERS: не установлено (проверьте настройки GoogleService-Info.plist и Info.plist)

Как и где это установить? Почему это не устанавливается автоматически?


person Bijoy Thangaraj    schedule 20.06.2016    source источник


Ответы (1)


Пакетная загрузка пытается получить как можно больше информации из рабочей области, но некоторые вещи может быть нелегко обнаружить. Если он не может найти эти значения, вы можете помочь ему, предоставив их самостоятельно.

  • SERVICE_PLIST — путь к файлу GoogleService-Info.plist (параметр командной строки -p).
  • INFO_PLIST — путь к Info.plist (параметр командной строки -i)
  • FCR_BUNDLE_ID – CFBundleIdentifier из Info.plist
  • FCR_DUMP_SYMS — путь к исполняемому файлу dump_syms.
  • FCR_PROD_VERS – CFBundleShortVersionString (маркетинговая версия) из Info.plist
  • FIREBASE_API_KEY — ключ API (API_KEY) из GoogleService-Info.plist.
  • FIREBASE_APP_ID – идентификатор приложения (GOOGLE_APP_ID) из GoogleService-Info.plist.
  • SWIFT_DEMANGLE — путь к исполняемому файлу swift-demangle (используйте «/bin/cat», если не используете Swift, чтобы избежать безобидных предупреждений)

Поэтому, если маркетинговая версия «7.2.3», вы можете избежать вышеуказанной ошибки,

$ env FCR_PROD_VERS="7.2.3" Pods/FirebaseCrash/batch-upload \
    72C2FABA-2092-4817-A1C7-3E3281AA84DA

Или даже лучше, если вы сможете найти исполняемый файл, соответствующий UUID:

$ dwarfdump --uuid build/Release-iphoneos/MyApp.app/MyApp
UUID: 72C2FABA-2092-4817-A1C7-3E3281AA84DA (arm64) ...
UUID: 1800251C-9147-3642-92DA-818B97144148 (armv7) ...

$ env FCR_PROD_VERS="7.2.3" Pods/FirebaseCrash/batch-upload \
    build/Release-iphoneos/MyApp.app/MyApp

Пожалуйста, поймите, что пакетная загрузка — это не обычный способ загрузки символов для анализа после сбоя: эта работа должна выполняться с помощью upload-sym в самой сборке Xcode (где он имеет доступ к большему количеству информации, чем пакетная загрузка).

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

person Robert Menke    schedule 21.06.2016
comment
Это приблизило меня к возможности загрузки, но теперь я получаю диалоговое окно с вопросом: Где находится файл служебной учетной записи? Что это такое и где он будет находиться? - person Slee; 01.07.2016
comment
в консоли перед диалогом также говорится: Ошибка чтения объектного файла: /Users/user/Library/Developer/Xcode/Archives/2016-06-28/myappname 6-28-16, 9.17 AM.xcarchive: - person Slee; 01.07.2016
comment
Извините, был в отпуске. Вы должны были загрузить JSON-файл сервисной учетной записи как часть вашей установки. Убедитесь, что вы выполнили все шаги в firebase.google.com/docs/crash/ios. #upload_symbol_files, чтобы подготовить приложение к загрузке символов. Опять же, помните, что пакетная загрузка предназначена для необычных случаев, например, сторонних предварительно скомпилированных библиотек или составных сборок вне Xcode: предупреждение указывает на то, что не все инструкции были выполнены правильно, и система пытается восстановить для вас то, что она Можно. - person Robert Menke; 11.07.2016