Символьный сбой в iOS8 с Xcode 6.1

Я использовал для обозначения отчета о сбоях в Xcode 5.1.1 непосредственно, так как в разделе "Устройства" в "Устройстве" есть раздел "Символизировать и переименовывать". Но после обновления до Xcode 6.1 я не смог найти ни символическую, ни повторно сопоставляемую опцию для просмотра журнала сбоев. Я смущен. Как это сделать?

Раньше я использовал синхронизацию устройства с iTunes и просмотр сбоев с ~/Library/Logs/CrashReporter/MobileDevice. Нажатие на любой сбой откроется с помощью устройств (Xcode), а затем символизирует. Но теперь он открывается консолью и не имеет возможности символизировать. Имеет ли Xcode 6.1 такую ​​возможность?

Ответ 1

Шаги для символьного журнала сбоев вручную в Xcode 6

  • Если вы заархивировали сборку релиза до выпуска, перейдите к STEP 2. В противном случае заархивируйте свою окончательную сборку (без изменения кода).

  • Чтобы найти файл архива, откройте организатор → выберите проект → выберите последний архивный файл → щелкните правой кнопкой мыши по нему → выберите "show in finder"

  • Щелкните правой кнопкой мыши файл "*.xcarchive" и выберите "показать содержимое пакета", затем перейдите в папку Продукты → Папка приложений → YourAppName.app (расширение .app скрыто на какой-то машине)

  • Скопируйте и вставьте файл .app в другое место. Поместите файл журнала сбоев также в ту же папку. Откройте приложение терминала и перейдите в папку, которую вы вставили, с помощью команды "cd"

  • И введите следующую команду в терминале с адресом сбоя

xcrun atos -o YourAppName.app/YourAppName -arch armv7 -l 0xbd000   0x0013f745

Примечание. Если вышеуказанная команда не работает, измените "armv7 на armv7s" и проверьте.

Например: Журнал сбоев выглядит так: вам нужно получить адрес сбоя и поместить его в приведенную выше команду

3   CoreGraphics                    0x266814d3 CGPathAddLineToPoint + 171
4   YourAppName                     0x00140a8b 0xbd000 + 539275
5   YourAppName                     0x0013f745 0xbd000 + 534341
6   Foundation                      0x27152d6b __NSThreadPerformPerform + 383
7   CoreFoundation                  0x2640a375 

Ответ 2

Плагин доступен для Xcode в меню Product. Этот плагин доступен через менеджер пакетов Alcatraz или может быть непосредственно загружен из github.

В этом плагине встроена оболочка script, которая выполняет настройку следующих команд для обозначения ручного сбоя.

  • Установить псевдоним symbolicatecrash.pl perl script

Псевдоним symbolicatecrash = '/Applications/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/Library/PrivateFrameworks/DTDeviceKit.framework/Версии/A/Ресурсы/symbolicatecrash

  1. Чтобы найти symbolicatecrash, если он отличается от псевдонима выше:

find/Applications/Xcode.app -name symbolicatecrash -type f

  1. Задайте переменную DEVELOPER_DIR:

export DEVELOPER_DIR = '/Приложения/Xcode.app/Содержание/Разработчик'

  1. С dSYM авария может символизироваться как:

symbolicatecrash/path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.

Ответ 3

Просто подключите устройство iOS, откройте "Устройства" > "Устройство" > "Просмотр журналов устройств", затем перетащите аварийный сигнал в список аварийных файлов для этого устройства. Сбой будет добавлен в список и будет отображаться до тех пор, пока существует оригинальный архив.

Ответ 4

Подключите устройство iOS, откройте Устройства (команда сдвига 2), выберите устройство и нажмите "Просмотреть журналы устройств". На левой боковой панели появятся аварийные журналы. Выберите тот, который вас интересует.

Пока вы заархивировали сборку, запущенную на устройстве во время сбоя, журнал сбоев будет отображаться автоматически через несколько секунд. Если нет, щелкните правой кнопкой мыши журнал сбоев и выберите "re-symbolicate log".