Начал использовать Crashlytics и мне любопытно, почему только DSYMs необходимо загрузить и не полный .app бинарный, чтобы соответствовать. У меня создалось впечатление, что для символа вам нужен двоичный файл с соответствующим файлом DSYM. Разве это не так? В основном пытается выяснить, как Crashlytics символизирует, когда все, что я делаю в своем приложении, запускает сценарий пост-сборки, который загружает DSYMDSYM и бинарные символы, необходимые для обозначения? Или просто DSYM?
ответ
Mike from Fabric and Crashlytics здесь.
Файл dSYM фактически содержит все символы отладки вашего приложения, необходимые для обозначения отчета о сбое. Вот почему мы рекомендуем установить Debug_Information_Format
в «Dwarf with dSYM». Мы также генерируем уникальный идентификатор сборки, так что даже если номер сборки и версии не изменяется, dSYM, загруженный для этой сборки, остается точным для любых отчетов о сбоях, которые необходимо символизировать.
Вы также можете прочитать дополнительную информацию о this from Apple, но самая важная часть заключается в следующем: «Поскольку компилятор переводит ваш исходный код в машинный код, он также генерирует символы отладки, которые отображают каждую машинную инструкцию в скомпилированном двоичном файле обратно строка исходного кода, из которой она была создана. В зависимости от настройки сборки Debug Information Format (DEBUG_INFORMATION_FORMAT) эти символы отладки хранятся внутри двоичного файла или в файле Debug Symbol (dSYM) для компаньона. "
Как отмечено выше, символы могут быть только в файле dSYM, поэтому наша рекомендация для установки Debug_Information_Format
.
Спасибо @MikeBonnell, что все имеет смысл для меня. Тем не менее, по-прежнему не понимаю, почему XCode требует, чтобы двоичный И dsym (связанный документ Apple даже указывал это), если команда atos и все, что вы используете для обозначения, не – stonedauwg
Если у вас нет параметра Debug_information_format, установленного в Dwarf с dSYM, символы отладки включаются в двоичные файлы для отладочной сборки, а не в отдельный файл dSYM. –
Я получаю, что гном w/dSYM приводит к символам только в dSYM. Но если это правда, почему XCode нужен двоичный (.app) файл, а также dSYM, когда Crashlytics нужен только dSYM? Я прочитал man-страницу для atos cmd и, похоже, вам понадобится бинарный файл вместе с dSYM. Это потому, что Fabric использует метод diff, чем XCode и atos? – stonedauwg
Просто понял, что это может быть дубликат http://stackoverflow.com/questions/28404342/ios-symbolicate-crash-report-without-the-app-binary. Это Q остается без ответа, хотя – stonedauwg