Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.
В отчетах о сбоях macOS, tvOS и iOS отображаются трассировки стека для всех выполняемых потоков приложения во время сбоя. Трассировки стека содержат только адреса памяти; не имена классов, методы, имена файлов или номера строк, необходимые для понимания сбоев.
Чтобы получить переведенные адреса памяти, необходимо загрузить пакет dSYM в App Center, который содержит все данные, необходимые для символизации. Дополнительные сведения о символичной обработке см. в официальной документации разработчика Apple.
Служба сборки и распространения Центра приложений может автоматически создать действительный файл dSYM и файл карты .zip источника и отправить его в службу диагностики. Если вы используете Центр приложений для создания и автоматического распространения приложения пользователям, вам не нужно вручную получать и отправлять файлы символов.
Несимболические сбои
Несимболические сбои отображаются в разделе диагностики Центра приложений, чтобы просмотреть некоторые сведения даже перед отправкой символов. Отсутствующие символы из этих сбоев будут отображаться на вкладке "несимволизированные". Если отсутствующие символы загружены, то несимволизированная группа сбоев будет заменена символизированной группой сбоев.
Найти .dSYM пакет
- В Xcode откройте меню "Окно ", а затем выберите "Организатор".
- Перейдите на вкладку "Архивы ".
- Выберите приложение на левой боковой панели.
- Щелкните правой кнопкой мыши последний архив и выберите "Показать" в Finder.
- Щелкните правой
.xcarchiveкнопкой мыши файл в Finder и выберите "Показать содержимое пакета". - Вы увидите папку с именем
dSYMs, содержащую пакет dSYM. - Создайте ZIP-файл пакета dSYM.
Если вы используете Visual Studio вместо Xcode, см. статью "Где можно найти dSYM-файл, чтобы символизировать журналы сбоев iOS?", чтобы найти файл dSYM.
Отправка символов
Портал Центра приложений
- Войдите в Центр приложений и выберите свое приложение.
- В меню слева перейдите к разделу "Диагностика " и выберите "Символы".
- В правом верхнем углу щелкните "Отправить символы " и отправьте файл.
- После индексирования символов в Центре приложений краши будут расшифрованы для вас.
Приложения React Native iOS
Чтобы получить файлы символов для файлов React Native iOS, создайте ZIP-файл с пакетом dSYM на компьютере Mac и исходной картой JavaScript приложения. Исходная карта должна быть названа index.ios.map. Команды, приведенные ниже, создадут карту ресурсов для выпускных сборок.
react-native bundle --entry-file index.ios.js --platform ios --dev false --reset-cache --bundle-output unused.jsbundle --sourcemap-output index.ios.map
API Центра приложений
Процесс отправки символов через API включает в себя ряд трех вызовов API: один для выделения пространства на серверной части, один для отправки файла и один для обновления состояния отправки. Текст первого вызова API должен иметь значение symbol_typeApple.
-
POSTАктивируйте запрос к API symbol_uploads. Этот запрос выделяет пространство в серверной системе для вашего файла и возвращает свойстваsymbol_upload_idиupload_url.
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{JSON BODY}'
- Используя свойство, возвращенное на первом шаге, выполните
upload_urlзапрос с заголовком:PUTи укажите путь к вашему файлу на диске. Этот запрос отправляет файл на наши серверные учетные записи хранения. Узнайте больше о заголовках запросов PUT для BLOB.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
-
PATCHВыполните запрос к API symbol_uploads с помощью свойстваsymbol_upload_idвозвращенного на первом этапе. В тексте запроса укажите, нужно ли задать состояние отправкиcommitted(успешно завершено) процесса отправки илиaborted(неудачно завершено).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{ "status": "committed" }'
Замечание
API отправки символов не работает для файлов, размер которых превышает 256 МБ. Используйте интерфейс командной строки Центра приложений для отправки этих файлов. Вы можете установить CLI App Center, следуя инструкциям в репозитории CLI App Center.
Интерфейс командной строки Центра приложений
Вы также можете использовать ИНТЕРФЕЙС командной строки для отправки файлов символов:
appcenter crashes upload-symbols --symbol {symbol file}
Bitcode
Bitcode был представлен Apple, чтобы разрешить приложениям, отправленным в App Store, быть перекомпилированы самим Apple и применять последнюю оптимизацию. Если Bitcode включен, символы, созданные для вашего приложения в магазине, будут отличаться от тех, которые вы используете в собственной системе сборки.
Отчеты о сбоях в Центре приложений пока не поддерживают символику сбоев из приложений с поддержкой bitcode. В то же время мы советуем отключить битовый код. Отключение битового кода значительно упрощает управление символами и в настоящее время не имеет известных недостатков для приложений iOS.
Отключение битового кода для приложения
- В Xcode откройте параметры проекта, щелкнув элемент верхнего уровня в Project Navigator
- Перейдите на страницу "Параметры сборки"
- Найдите элемент
bitcode. - В результате измените значение с "Да" на "Нет"
- Перестройте ваше приложение
С помощью этих простых действий отчеты о сбоях Центра приложений будут вести себя как обычно.
Получение символов для приложений с включенной поддержкой bitcode
Если вы хотите включить бит-код, вы можете скачать правильные файлы dSYM, выполнив следующие действия.
- Откройте организатор Xcode
- Выберите конкретный архив приложения, который вы отправили в iTunes Connect
- Нажмите кнопку "Скачать dSYMs". Этот шаг вставляет скомпилированные dSYM-файлы Bitcode в исходный архив.
- Загрузите символы в соответствующее приложение и версию в Центре приложений
Если организатор Xcode не предоставляет новые символы, необходимо скачать файлы dSYM на портале iTunes Connect, выполнив следующие действия:
- Выбор приложения на портале iTunes Connect
- Выберите вкладку "Действие" в верхней части
- Выберите версию сборки приложения с отсутствующими символами
- Щелкните ссылку "Скачать dSYM"
- Отправьте скачанный файл в Центр приложений. Этот файл содержит символы, необходимые для App Center, чтобы символизировать ваши сбои.
Устранение неполадок с символами
Если сбои по-прежнему отображаются несимболизованными после отправки символов и отключения битового кода, это может быть связано с тем, что загруженные файлы dSYM не соответствуют тем, которые требуются в Центре приложений. При отправке dSYM-файлов Центр приложений сопоставляет их с правильной версией приложения на основе идентификаторов UUID.
Вы можете дважды проверить, имеют ли файлы dSYM правильные идентификаторы UUID, используя средство CLI с именем dwarfdump.
- Найдите UUID в файле dSYM:
dwarfdump --u CrashProbeiOS.app.dSYM
- Результат должен иметь следующий вид.
UUID:ADF53C85-4638-3EFF-A33C-42C13A18E915 (armv7)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
UUID:D449E33D-7E74-379D-8B79-15EE104ED1DF (arm64)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
- Дважды проверьте, соответствует ли возвращаемый идентификатор UUID идентификаторам UUID, отображаемым в диалоговом окне символов отладки:
Игнорировать символы
Если в Центре приложений нет всех файлов символов для полностью символьных отчетов о сбоях, то на вкладке "Несимболизованные " отображаются сбои. Необходимые символы отправляются с этой страницы, если у вас есть доступ к ним.
Если вы не можете отправить символы, их можно пометить как игнорируемые, выбрав строки в таблице и нажав кнопку "Игнорировать версии". Эта кнопка позволяет App Center обработать сбои и использовать символизацию в максимально возможной степени с доступными символами. После завершения обработки они будут отображаться на вкладке Сбои частично преобразованы в символы. Новые сбои, которые также зависят от тех же идентификаторов символов, помеченных как игнорируемые, обходят вкладку "Несимболизованная " по мере их ввода и прохождения по системе.