使用Xcode 6 .1在iOS8中符号崩溃
我曾经在Xcode 5.1.1中直接表示崩溃报告,因为Organizer的Devices部分中有Symbolicate& Re-symbolicate。但升级到Xcode 6.1后,我既没有找到symbolicate也没有resymbolicate选项来查看崩溃日志。我很困惑。该怎么办?
I used to symbolicate the crash report in Xcode 5.1.1 directly as there was "Symbolicate & Re-symbolicate" in Devices section of Organiser. But after upgrading to Xcode 6.1, I could find neither symbolicate nor resymbolicate option to view the crash Log. I'm confused. How to do it?
以前我曾经将设备与iTunes同步,并从〜/ Library / Logs / CrashReporter / MobileDevice 。单击任何崩溃将打开设备(Xcode),然后符号化。但现在,它打开了Console,没有符号选项。 Xcode 6.1有没有这样的选项?
Previously I used to sync the device with iTunes and view the Crashes from ~/Library/Logs/CrashReporter/MobileDevice
. Clicking on any crash would open up with Devices(Xcode) and then symbolicate. But now, it opens up with Console and no option to symbolicate. Does Xcode 6.1 have any such option?
在Xcode 6中手动表示崩溃日志的步骤
-
如果您在发布之前归档了发布版本,那么请转到步骤2.否则归档您的最终发布版本(不进行任何代码更改) )。
If you archived the release build before release, then go to STEP 2. Otherwise archive your final release build (without any code change).
要找到您的存档文件,打开管理器 - >选择您的项目 - >选择最新的存档文件 - >右键单击它 - >选择'在finder'中显示
To locate your archive file, open organizer -> choose your project -> choose the latest archive file -> right click over it -> choose 'show in finder'
右键单击'* .xcarchive'文件并选择'show package content'选项然后转到产品文件夹 - >应用程序文件夹 - > YourAppName.app (.app扩展名在某些计算机中隐藏)
Right click on '*.xcarchive' file and select 'show package content' option then go to Products folder -> Applications Folder ->YourAppName.app (.app extension is hidden in some machine)
将.app文件复制并粘贴到其他位置。将崩溃日志文件也放在同一文件夹中。打开终端应用程序并转到您粘贴的文件夹,通过'cd'命令
Copy and paste your .app file in different location. Put the crash log file also in the same folder. Open terminal app and go to the folder which you pasted, through 'cd' command
然后在终端中输入以下命令并附上您的崩溃地址
And type the following command in terminal with your crash address
xcrun atos -o YourAppName.app/YourAppName -arch armv7 - l 0xbd000
0x0013f745
注意:如果上面的命令不起作用,那么将armv7改为armv7s并检查。
Note: If the above command doesn't work, then change "armv7 to armv7s" and check.
例如:崩溃日志看起来像这样,你需要得到崩溃地址并将其放在上面的命令中
Eg: Crash log look like this, you need to get crash address and put it in the above command
3 CoreGraphics 0x266814d3 CGPathAddLineToPoint + 171
4 YourAppName 0x00140a8b 0xbd000 + 539275
5 YourAppName 0x0013f745 0xbd000 + 534341
6 Foundation 0x27152d6b __NSThreadPerformPerform + 383
7 CoreFoundation 0x2640a375