Загрузка dSYM-файлов на iOS
Информация о крэшах на iOS отправляется в десимволизированном виде. Из таких крэш‑логов сложно извлечь данные для анализа. Чтобы крэш-логи можно было анализировать, загрузите dSYM-файлы в AppMetrica.
Для загрузки dSYM-файлов в AppMetrica SDK включен инструмент командной строки helper. Для сборки с помощью fastlane поддержан плагин загрузки. С их помощью можно настроить автоматическую загрузку dSYM-файлов при сборке приложения.
Автоматическая загрузка при сборке
Если генерация Bitcode включена и вы используете 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-файлы нельзя будет использовать.
- Откройте проект в Xcode.
- В навигаторе по проекту выберите файл проекта.
- В блоке Targets выберите ваше приложение.
- Откройте вкладку Build Phases.
- Нажмите кнопку.
- В текстовое поле Type a script добавьте:
if [ -d "${PODS_ROOT}/YandexMobileMetrica" ]; then HELPER_PATH=`find "${PODS_ROOT}/YandexMobileMetrica" -name "helper"` if [ -x "${HELPER_PATH}" ]; then "${HELPER_PATH}" auto --post-api-key="Post API key"& else echo "AppMetrica crash helper was not found" fi fi
СкопированоПримечание. Режимauto
использует переменную окруженияCONFIGURATION
. Если сборка собирается с конфигурациейDebug
, dSYM-файлы не загружаются.
helper
.helper
включен в AppMetrica SDK, начиная с версии 3.8.0. Он находится в архиве SDK.Загрузка отсутствующего 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-файлом:
- Если генерация Bitcode включена
-
- В интерфейсе Xcode нажмите.
- Во вкладке Archives выберите нужную версию приложения.
- Нажмите кнопку Download dSYM.
- В интерфейсе iTunes Connect откройте страницу Activity.
- Во вкладке All Builds выберите нужный номер сборки.
- Нажмите Download dSYM.
Через Xcode OrganizerЧерез App Store Connect - Если генерация Bitcode выключена
- Можно использовать dSYM-файл, который был сгенерирован при сборке.
- В интерфейсе AppMetrica перейдите в настройки приложения из меню слева.
- Откройте вкладку.
- Нажмите кнопку Выберите файл и загрузите ZIP-архив, содержащий директории app.dSYM или app.
Чтобы загрузить в 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 ...]
Параметры
auto
helper
использует следующие переменные:CONFIGURATION
— используется для определения конфигурации. Если сборка собирается с конфигурациейDebug
, dSYM-файлы не загружаются.DWARF_DSYM_FOLDER_PATH
— используется для нахождения dSYM-файлов. Она обычно зависит от переменнойBUILT_PRODUCTS_DIR
.YMM_POST_API_KEY
— Post API key. Если указан, в автоматическом режиме можно использовать короткую командуhelper auto&
.
‑k
Post API key. Его можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.
‑o
Путь к папке, в которой хранятся временные файлы.
По умолчанию используется системная папка.
‑v
Включает отображение дополнительной информации.
‑‑version
Выводит версию.
file
Список dSYM-файлов или папок, в которых они лежат.
По умолчанию используется локальная рабочая папка.
&
позволяет запускать helper
параллельно, не блокируя сборку всего проекта. Пример команды:helper auto --post-api-key="Post API key"&