2016-03-23 7 views
10

Можете ли вы помочь мне отобразить мои аварии?Как символизировать сбои в Xcode 7.3?

В Xcode 7.3, Window -> Organizer -> Сбой, у меня есть отчеты о сбоях из моих последних тестов TestFlight. Они были построены на этом Mac, и все архивы с соответствующими dSYM находятся на вкладке Архивы. Приложение разделено на несколько фреймворков и основное приложение, и многие из них представляют собой комбинацию Swift и Objective C. В журнале сбоев я вижу правильное имя фреймворков и приложений, но все записи для моих фреймворков и приложение находится в шестнадцатеричном формате. UIKit символизируется просто отлично.

Когда я смотрю в iTunes Connect, он говорит «Да» на «Включает символы» и позволяет загружать dSYM. При построении параметр «Формат отладочной информации» был установлен на «DWARF с dSYM». Я попробовал установить «Strip Debug Symbols во время копирования» и «Strip Linked Product» на «No», чтобы узнать, не изменилось ли это. Это не так.

Я не могу найти приложение symbolicatecrash на моей системе, даже не в/USR/бен или /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash, но у меня есть старший Xcode 5, где я мог бы его захватить. Однако он больше не разрешает символы.

У меня такая же проблема в Инструментах, если я профилирую мое приложение, UIKit символизируется просто отлично, но мои фреймворки и приложение показывают только гекс.

Я знаю, что там было много сообщений об этом, но я собираюсь через них много от 7,3 периода бета-тестирования и до сих пор и не нашли решение

+0

Возможный дубликат [Новый организатор сбоев XCode не отображает файлы .xccrashpoint] (https://stackoverflow.com/questions/33131434/new-xcode-crash-organizer-does-not-symbolicate-xccrashpoint-files) – mychrisdangelo

ответ

2

же здесь. С трудом находить символический crash после обновления до 7.3.

Однако вы все равно можете использовать atos. Вы можете найти учебник здесь Symbolicate crash in iOS8 with Xcode 6 .1

0

Я попытался скопировать symbolicatecrash файл из Xcode 7.2 и вставить его в Xcode 7.3 по следующему пути:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/Current/Resources/

Am используя CRaSHer скрипт для symbolicate отчеты о сбоях How to use Crasher

13

расположение symbolicatecrash изменилось в Xcode 7.3:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

8

После прочтения этого:

https://developer.apple.com/library/content/technotes/tn2151/_index.html

вы обнаружите, что в App Store отвечает за символику отчетов о сбоях, которые поступают из TestFlight - не Xcode. И похоже, что App Store очень ненадежен, делая это.

Вот обходной путь.

  1. Перейдите на вкладку Архивы в окне «Органайзер» и убедитесь, что для любой сборки вы должны symbolicate отчет о сбое, вы нажали кнопку «Загрузить dSYMS ...» кнопка над на правой стороне страницы.Это необходимо, если вы загружаете BitCode.

  2. Прикрепите устройство iOS так, чтобы оно отображалось в окне «Устройства».

  3. Выберите устройство и нажмите «Просмотреть журналы устройств».

  4. Теперь вернитесь в окно «Организатор», выберите вкладку «Сбой» и выберите один из аварий, которые не получили символику.

  5. Щелкните правой кнопкой мыши на нем и выберите «Показать в Finder».

  6. Щелкните правой кнопкой мыши на обнаруженном пакете .xccrashpoint и выберите «Показать содержимое пакета».

  7. Просверлить в DistributionInfos -> все -> Журналы.

  8. Перетащите любой из файлов .crash в левую часть панели «Просмотр журналов устройств» в окне «Устройства».

  9. Подождите секунду или два для Xcode, чтобы символизировать сбой.

1

Я не добавляю символы в свое приложение, поэтому App Store не может символизировать меня. Я использовал следующее обходное решение, чтобы символизировать все краш-журналы, которые XCode загружает из магазина. Эти инструкции предназначены для XCode 8. Пути для символьного приложения crash будут отличаться от версии к версии XCode, но идеи должны быть одинаковыми в каждой версии.

  1. Разместите ваши символы, где symbolicator может их найти: ваши символы файла Place (.dsym) в директории архива. Вы можете найти это, перейдя в Organizer, нажав контекст на архив и выбрав «show in finder». Перейдите в каталог архивов (например, /Users/USERNAME/Library/Developer/Xcode/Archives) и разместите там файл dsym. Это может быть и в других местах, я просто подтвердил, что это работает.
  2. Загрузите журналы сбоев: В XCode убедитесь, что вы загрузили crashlogs для сборки, которую хотите пометить (Organizer-> Crashes, нажмите на ваше приложение, а затем выберите версию своего приложения на панели справа от списка приложений).
  3. Найдите журналы сбоев на диске: На панели с версией приложения и номером сборки в контекстном меню щелкните один из аварий и выберите «Показать в Finder». Перейдите к «Сбои Folder» и обратите внимание на это местоположение, например: /Users/USERNAME/Library/Developer/Xcode/Products/com.company-name.Your-App/VERSION/Crashes
  4. Настройка DEVELOPER_DIR для symbolicatecrash в командной строке: Откройте окно терминала и CD в каталог падениям с шага 3 и установите DEVELOPER_DIR так: cd /Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/ export set DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    (это должно быть расположение каталога «Разработчик» внутри вашего пакета приложений XCode).
  5. Локализовать скрипт symbolicatecrash: symbolicatecrash знает, как найти свои символические журналы сбоев, используя dsym с шага 1. Apple перемещает его с версии на версию xcode. Вы можете найти это следующим образом: find /Applications/Xcode.app/ -name symbolicatecrash.В XCode 8, в /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
  6. Резервного копирования сбой папки Вы можете создать резервную копию папку из строя (/Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/)
  7. Symbolicate всех ваших аварий: Убедитесь, что вы все еще находитесь в директории Сбоев из шаг 4 и тип
    for i in `find . -type f -name \*.crash`; do cat $i | /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash --output $i.sym; mv $i.sym $i; done;
    Это символизирует каждый файл .crash в выходной файл и затем копирует его обратно в исходный, несимметричный файл.
  8. Посмотреть Сбои Вернуться к организатору падений и просмотреть symbolicated аварии
0

Согласно документации Xcode 9.0:

Аварии Организатор symbolicates unsymbolicated журналы, если они выбран, используя локальный .dSYM, индексированный Spotlight. (22550064)

Дополнительную информацию об этом вы можете получить в Xcode's Documentation.

 Смежные вопросы

  • Нет связанных вопросов^_^