Загрузка файлов символов

На моей странице Firebase Crash Reporting я не могу найти полную информацию о сбоях (например, число строк, файл и т. Д.). Я думал, это может быть, потому что это говорит

Загрузите файл символа, чтобы символизировать будущие следы стека для UUID – ***

рассказывая мне

Используя командную строку, перейдите в папку проекта Xcode и выполните следующее: ./Pods/FirebaseCrash/batch-upload – ***

К сожалению, когда я пытаюсь выполнить эту команду в моем проекте Xcode, я получаю следующее сообщение:

– ***: предупреждение: нет исполняемого файла или пакета.

и ничего не меняется в firebase. Возможно, это связано с тем, что биткод включен? Как я могу это решить?

PS: Я поменял свой UUID на – *** по соображениям безопасности.

3 Solutions collect form web for “Загрузка файлов символов”

Этот ответ заключается в том, что вы не используете CocoaPods.

Если вы не используете CocoaPods, вам понадобятся файлы из каталога Pods, которые не входят в стандартный набор библиотек Firebase, которые они предоставляют.

Есть 5 файлов, изображенных ниже: Необходимые файлы FirebaseCrash

Вам понадобятся batch-upload , dump_syms , upload-sym , upload-sym-util.bash и upload-sym.sh . Вы можете получить эти файлы из файлов FirebaseCrash Pod.

Если вы скопируете их в каталог проекта и замените "${PODS_ROOT}"/FirebaseCrash/ на каталог, указывающий на эти файлы, он должен работать.

Примечание. У меня все еще есть сложности с этим решением, если я использую сервер сборки, такой как Jenkins. Еще предстоит проделать определенную работу.


Я обнаружил, что это было необходимо для моих приложений, которые не используют CocoaPods. Хотя это может не иметь прямого отношения к вашему собственному использованию, я считаю, что, по крайней мере, я должен включить его для кого-то другого, пытающегося найти ответ.

В настоящее время у нас есть некоторые проблемы с сторонними библиотеками (динамическими фреймворками), поэтому, если вы используете общую библиотеку, все становится сложно. Следуйте приведенным ниже инструкциям, но замените путь к исполняемому файлу приложения на путь к общей библиотеке.

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

  1. Убедитесь, что UUID верен для исполняемого файла:

      dwarfdump --uuid / path / to / your / build / area / MyApp .app / MyApp 

    Если ни один из UUID не соответствует отсутствующему, то игра закончилась. Сожалею. Вы можете попытаться восстановить исполняемый файл из Time Machine, Carbonite или что-то еще, но это все.

  2. Если один из UUID соответствует (по одному для каждой архитектуры), то у вас все еще есть исходный исполняемый файл, но скорее всего отсутствует пакет dSYM. Вы можете убедиться, что отсутствует dSYM:

      mdfind com_apple_xcode_dsym_uuids = UUID 

    Вы не увидите ответа.

  3. Восстановите пакет dSYM:

      dsymutil -o = upload.dSYM / path / to / your / build / area / MyApp .app / MyApp 
  4. Убедитесь, что зарегистрирован пакет dSYM:

      mdfind com_apple_xcode_dsym_uuids = UUID 

    Вы должны получить один ответ назад: upload.dSYM вы только что создали.

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

  5. Запустите batch-upload UUID снова.

  6. Если он все еще не работает, вы можете получить частичные результаты, обработав сам исполняемый файл. Запустите batch-upload /path/to/your/build/area/MyApp .app/ MyApp чтобы получить частичную символику.

В моем случае ( БЕЗ КОКУПАПОВ ):

1) Импортировать все файлы из каталога «Crash»

введите описание изображения здесь

2) Добавьте скрипт в вкладку «Построить фазы» следующим образом:

 # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file GOOGLE_APP_ID=1:xxxxxxxxxxxx:ios:xxxxxxxxxxxx # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded "${SRCROOT}"/upload-sym "${SRCROOT}/*NameOfTargetDirectory*/ServiceAccount.json" 

Вам нужно изменить « NameOfTargetDirectory » в скрипте, и он работает!

  • существует ли максимальное количество событий, которые вы можете отслеживать в Google Analytics для iOS?
  • Есть ли способ (или инструмент) для обновления iOS-симулятора в реальном времени?
  • Лучший способ преобразовать Фурье
  • NSClassFromString () всегда возвращает nil
  • Как добавить CocoaHTTPServer в проект iOS на XCode 4
  • компиляция и подписание проекта xcode в Windows
  • Не удалось создать модуль
  • Xcode 5 Ошибка «Отсутствует ошибка компилятора LLVM 4.2»
  • Создание тестов XCTest UI для фермы устройств AWS
  • Как передавать информацию Назад в iOS при изменении Segue?
  • Как я могу нарисовать полукруг с помощью CoreGraphics
  • Как выбрать приложение для автоматической загрузки с помощью xcrun?
  • Interesting Posts

    Странная проблема CFNetwork SSLHandshake не удалось (-9806) в 3G

    Как установить метод тестирования, который вызывает NSDate ()?

    Ускорение создания UIImage из SpriteSheet

    Как использовать ogg.framwork в xcode для воспроизведения аудио с URL-адреса или данных

    Не удается найти SQLitePlatformIOS в Sqlite.net PCL

    Стратегия выполнения многих запросов на геокодирование

    Почему Ioc-контейнеры в Objective-C не являются популярным подходом?

    Ошибка ITMS-90017: этот пакет недействителен. Для формата IPA требуется каталог верхнего уровня с именем «Полезная нагрузка»

    Как получить фотографию из UITextView после добавления ее с помощью NSAttributedString?

    Может ли приложение ios поддерживать только 9,7-дюймовый iPad, а не 12,9 iPad Pro?

    Можно ли протестировать приложение с помощью Bluetooth в iOS Simulator?

    Настройка Центра управления Swift и IOS 9+

    Встроенные блоки iOS хороши, но блоки, объявленные как переменные, вызывают проблемы с памятью

    Разделенная строка iOS

    CG Gradient работает на симуляторе, но не на iPhone

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.