Хорошо, теперь этот ответ является тем, что требуется для последней версии XCode 5.1.1:
Недавно у меня был журнал сбоев из специальной сборки. XCode отказался от использования символов. У меня была заархивированная сборка, сделанная несколько часов назад, и я хотел принудительно выполнить символику, используя мою заархивированную сборку. Вот как я это сделал:
1) Сначала я открыл окно терминала и перешел в каталог, содержащий мой архив. Я выполнил эту команду:
xcrun dwarfdump --uuid Example.app/Example | tr '[:upper:]' '[:lower:]' | tr -d '-'
Это вытащило dsym_uuid заархивированной сборки. Команда tr преобразует guid из верхнего регистра с дефисами в нижний регистр без тире.
2) Я вошел в файл .crash и изменил guid, связанный с моим двоичным файлом в журнале сбоев, на guid, связанный с xcdarchive на моей машине.
Например, пошли с
0x80000 - 0x49efff +MyApp armv7 <aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa> /var/mobile/Applications/DC23BDC0-75E3-4DCA-8AC3-099889CE22E0/MyApp.app/MyApp
to
0x80000 - 0x49efff +MyApp armv7 <bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb> /var/mobile/Applications/DC23BDC0-75E3-4DCA-8AC3-099889CE22E0/MyApp.app/MyApp
3) С терминала я установил свою переменную среды DEVELOPER_DIR на:
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
4) Наконец, я выполнил эту чудовищную команду:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -v MyApp.crash /Users/me/Library/Developer/Xcode/Archives/2013-05-31/MyApp\ 5-31-13\ 7.00\ PM.xcarchive/Products/Applications/MyApp.app
Обратите внимание, что путь к символической ошибке в новых версиях XCode меняется на:
/Applications/Xcode6.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
Эта команда запускает symbolicatecrash для вашего архива, используя имеющийся у вас файл .crash.
person
esilver
schedule
01.06.2013