使用Xcode 6 .1在iOS8中符号崩溃

Hon*_*ney 12 iphone ios xcode6

我曾经在Xcode 5.1.1中直接表示崩溃报告,因为Organizer的Devices部分中有"Symbolicate&Re-symbolicate".但升级到Xcode 6.1后,我既没有找到symbolicate也没有resymbolicate选项来查看崩溃日志.我糊涂了.怎么做?

以前我曾经将设备与iTunes同步并查看崩溃~/Library/Logs/CrashReporter/MobileDevice.单击任何崩溃将打开设备(Xcode),然后符号化.但现在,它打开了Console,没有符号选项.Xcode 6.1有这样的选择吗?

Dax*_*Dax 26

在Xcode 6中手动符号化崩溃日志的步骤

  1. 如果在发布之前归档了发布版本,则转到步骤2.否则归档最终发布版本(不进行任何代码更改).

  2. 要找到您的存档文件,请打开管理器 - >选择您的项目 - >选择最新的存档文件 - >右键单击它 - >选择'show in finder'

  3. 右键单击'*.xcarchive'文件并选择'show package content'选项然后转到Products文件夹 - > Applications Folder - > YourAppName.app(.app扩展名隐藏在某些机器中)

  4. 将.app文件复制并粘贴到其他位置.将崩溃日志文件也放在同一文件夹中.打开终端应用程序并通过'cd'命令转到您粘贴的文件夹

  5. 并在终端中使用崩溃地址键入以下命令

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 
Run Code Online (Sandbox Code Playgroud)


Mah*_*hag 14

在"产品"菜单下,Xcode可以使用插件.这个插件可以通过Alcatraz包管理器获得,也可以直接从github下载.

此插件内部包含一个shell脚本,该脚本执行以下命令的设置,以执行手动崩溃符号化.

  1. 设置别名为symbolicatecrash.pl perl脚本

alias symbolicatecrash ='/ Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash'

  1. 要查找symbolicatecrash,它应该与上面的别名不同:

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

  1. 设置DEVELOPER_DIR变量:

export DEVELOPER_DIR ='/ Applications/Xcode.app/Contents/Developer'

  1. 使用dSYM,崩溃可以象征为:

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