Как Xcode находит dSYM, соответствующий файлу сбоев?

Я получил файл.crash от клиента, и мне нужно связать его с правильным файлом dSYM. Архив для этого продукта / версии был создан другим разработчиком с использованием Xcode, а файл.xcarchive помещен в git на черный день (как сегодня).

После прочтения " Анализ отчетов о сбоях" и " Понимание и анализ отчетов о сбоях приложений iOS" неясно, как это работает.

Я сделал следующее:

  • откройте окно "Устройства", кнопку "Просмотр журналов устройства"
  • перетащите файл.crash в список (мы перетаскиваем журнал сбоев с другого устройства / пользователя на наше устройство - это кажется неправильным, но AFAIK - это то, что нужно сделать)
  • В Организаторе / Архивах архив нужной версии НЕ в моем списке. Он был построен на другом компьютере, и я еще ничего не сделал, чтобы перенести его в свою среду
  • Первоначально, когда я просматривал файл сбоя, он просто имел шестнадцатеричные коды
  • щелкните правой кнопкой мыши и "Re-Symbolicate" журнал сбоя, который я добавил ранее
  • Каким-то образом Xcode теперь знает о моем архиве. Теперь я вижу информацию о методе и номере строки, но...

Я не уверен, что это работает, и может быть связано с неправильной вещью.

Q: Как Xcode узнает о моем файле xcarchive, который содержит dSYM для версии файла сбоев? (Я бы ожидал, что он должен быть в списке Организатор / Архивы, но это не так)

В: Есть ли лучший способ импортировать файл.crash? (Я ожидаю, что смогу перетащить его в Organizer/Crashes, но, видимо, нет)

1 ответ

Решение

Я не уверен на 100%, но я думаю, что Xcode использует Spotlight, чтобы найти правильный файл dsym, поэтому не должно иметь значения, где он находится на вашем диске.

Я думаю, что он запускает эту команду:

mdfind "com_apple_xcode_dsym_uuids == <UUID>"

Вы также можете запустить это, чтобы перечислить все dsym файлы, которые Xcode может найти в данный момент:

mdfind "com_apple_xcode_dsym_uuids == *"

(Взято из этого ответа)

Другие вопросы по тегам