Загрузка dSYM-файлов на iOS
Информация о крэшах на iOS отправляется в десимволизированном виде. Из таких крэш‑логов сложно извлечь данные для анализа. Чтобы крэш-логи можно было анализировать, загрузите dSYM-файлы в AppMetrica.
Для загрузки dSYM-файлов в AppMetrica SDK включен инструмент командной строки helper. Для сборки с помощью fastlane поддержан плагин загрузки. С их помощью можно настроить автоматическую загрузку dSYM-файлов при сборке приложения.
Пожалуйста, отправляйте dSYM файлы только для тех приложений, которые вы хотите опубликовать.
Автоматическая загрузка при сборке
Используйте fastlane для сборки приложения:
-
Установите fastlane-плагин
appmetrica
:fastlane add_plugin appmetrica
Подробнее о добавлении плагина в документации fastlane.
-
Добавьте в файл
fastlane/Fastfile
следующее:lane :release do # Your actions before. gym( workspace: "MyApp.xcworkspace", configuration: "Release", scheme: "MyApp", export_method: "app-store" # Pass the correct export_method. ) upload_symbols_to_appmetrica(post_api_key: "Post API key") # Your actions after. end
Post API key можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.
Внимание
Для сборки приложения используется action gym с экспортом. Если вы собираете приложение с помощью Xcode, приложение будет перекомпилировано после загрузки в App Store Connect. Тогда сгенерированые при сборке dSYM-файлы нельзя будет использовать.
-
Добавьте этап загрузки dSYM-файлов с помощью инструмента
helper
в Xcode. Инструментhelper
включен в AppMetrica SDK, начиная с версии 3.8.0. Он находится в архиве SDK. Справочник инструмента helper.-
Откройте проект в Xcode.
-
В навигаторе по проекту выберите файл проекта.
-
В блоке Targets выберите ваше приложение.
-
Откройте вкладку Build Phases.
-
Нажмите кнопку + → New Run Script Phase.
-
В текстовое поле Type a script добавьте:
if [ -d "${PODS_ROOT}/AppMetricaCrashes" ]; then HELPER_PATH=`find "${PODS_ROOT}/AppMetricaCrashes" -name "helper"` if [ -x "${HELPER_PATH}" ]; then "${HELPER_PATH}" auto --post-api-key="Post API key"& else echo "AppMetricaСrash helper was not found" fi fi
Примечание
Режим
auto
использует переменную окруженияCONFIGURATION
. Если сборка собирается с конфигурациейDebug
, dSYM-файлы не загружаются.
-
Загрузка отсутствующего dSYM-файла
Если при сборке приложения dSYM-файл не был загружен, в отчетах по крэшам будет отображаться предупреждение о несимволизированных крэшах.
Чтобы их символизировать, загрузите отсутствующие dSYM-файлы. Список отсутствующих файлов можно посмотреть на странице Настройки → Крэши вашего приложения в AppMetrica.
Отсутствующие dSYM-файлы можно загрузить:
-
Установите fastlane-плагин
appmetrica
:fastlane add_plugin appmetrica
Подробнее о добавлении плагина в документации fastlane.
-
Добавьте в файл
fastlane/Fastfile
следующее:lane :refresh_dsyms do download_dsyms upload_symbols_to_appmetrica(post_api_key: "Post API key") clean_build_artifacts end
В действии
download_dsyms
можно указать необходимую версию приложения и номер сборки:... download_dsyms(version: "1.0.0", build_number: "345") ...
Подробнее о действии
download_dsyms
в документации fastlane.
-
Найдите необходимый архив с dSYM-файлом:
Через Xcode Organizer
- В интерфейсе Xcode нажмите Window → Organizer.
- Во вкладке Archives выберите нужную версию приложения.
- Нажмите кнопку Download dSYM.
Через App Store Connect
- В интерфейсе iTunes Connect откройте страницу Activity.
- Во вкладке All Builds выберите нужный номер сборки.
- Нажмите Download dSYM.
Можно использовать dSYM-файл, который был сгенерирован при сборке.
-
В интерфейсе AppMetrica перейдите в настройки приложения из меню слева.
-
Откройте вкладку Крэши → iOS.
-
Нажмите кнопку Выберите файл и загрузите ZIP-архив, содержащий директории
app.dSYM
илиapp
.
Для загрузки с помощью плагина необходимо подключить AppMetrica SDK не нижее версии 3.8.0. Чтобы загрузить в AppMetrica отсутствующие dSYM-файлы, в терминале выполните команду:
helper -k <post-api-key> <file_path>
file_path
— список dSYM-файлов или папок, в которых они лежат.
Справочник инструмента helper
Примечание
Инструмент helper
включен в AppMetrica SDK, начиная с версии 3.8.0. Он находится в архиве SDK.
Helper — инструмент командной строки, который позволяет загружать dSYM-файлы в AppMetrica.
$ helper [auto] [-o | --package-output-path=<path>] [-v | --verbose]
[--version] -k <post-api-key> | --post-api-key=<key> [file ...]
Параметры
|
Автоматический режим загрузки. В нем
|
|
Post API key. Его можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения. |
|
Путь к папке, в которой хранятся временные файлы. По умолчанию используется системная папка. |
|
Включает отображение дополнительной информации. |
|
Выводит версию. |
|
Список dSYM-файлов или папок, в которых они лежат. По умолчанию используется локальная рабочая папка. |
&
позволяет запускать helper
параллельно, не блокируя сборку всего проекта. Пример команды:
helper auto --post-api-key="Post API key"&
См. также
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.
Post API key можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.