被APP Store拒绝后,如果是由于APP本身的原因导致崩溃,一般是无法告知你问题所在的,只会提供一个.Crash的错误日志,咋一看起来,日志内容是无法被人肉识别的,更别提分析错误了,这时候就需要对其进行符号化,具体过程如下:
1、登陆itunesconne,进入解决方案中心:
2、下载.Crash日志文件:
3、文件格式一般如下:
#1、进程信息
Incident Identifier: 567E6F3B-80B8-471D-ABDA-1E302F98B40F
CrashReporter Key: 1b046247bcda31f5730382cc9312215094f98bb9
Hardware Model: xxx
Process: BoyingCaptial [411]
Path: /private/var/mobile/Containers/Bundle/Application/FF0F7FE9-B922-451A-A79D-0F6A7FFEE61B/BoyingCaptial.app/BoyingCaptial
Identifier: com.boying.BoyingCaptial
Version: 1.3.5 (1.3.5)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
#2、基本信息
Date/Time: 2015-08-17 10:55:34.164 -0700
Launch Time: 2015-08-17 10:55:30.884 -0700
OS Version: iOS 8.4.1 (12H321)
Report Version: 105
#3、异常信息
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 0
#4、Crash调用堆栈
Last Exception Backtrace:
(0x18205422c 0x193c240e4 0x18205416c 0x182e88824 0x182e8ee14 0x10009a788 0x100099498 0x1000310fc 0x1942a1994 0x1942a1954 0x1942a620c 0x18200b544 0x1820095ec 0x181f34f74 0x18b8676fc 0x186b36d94 0x1000d637c 0x1942cea08)
#5、Crash线程回溯
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001943e7270 0x1943cc000 + 111216
1 libsystem_pthread.dylib 0x000000019448515c 0x194480000 + 20828
2 libsystem_c.dylib 0x000000019435eb1c 0x1942fc000 + 404252
3 libsystem_c.dylib 0x000000019435eaa8 0x1942fc000 + 404136
4 libc++abi.dylib 0x00000001933f1414 0x1933f0000 + 5140
5 libc++abi.dylib 0x0000000193410b88 0x1933f0000 + 134024
6 libobjc.A.dylib 0x0000000193c243bc 0x193c1c000 + 33724
7 BoyingCaptial 0x000000010016e1bc 0x100004000 + 1483196
8 libc++abi.dylib 0x000000019340dbb0 0x1933f0000 + 121776
9 libc++abi.dylib 0x000000019340d474 0x1933f0000 + 119924
10 libobjc.A.dylib 0x0000000193c24200 0x193c1c000 + 33280
11 CoreFoundation 0x0000000182054168 0x181f2c000 + 1212776
12 Foundation 0x0000000182e88820 0x182e60000 + 165920
13 Foundation 0x0000000182e8ee10 0x182e60000 + 192016
14 BoyingCaptial 0x000000010009a784 0x100004000 + 616324
15 BoyingCaptial 0x0000000100099494 0x100004000 + 611476
16 BoyingCaptial 0x00000001000310f8 0x100004000 + 184568
17 libdispatch.dylib 0x00000001942a1990 0x1942a0000 + 6544
18 libdispatch.dylib 0x00000001942a1950 0x1942a0000 + 6480
19 libdispatch.dylib 0x00000001942a6208 0x1942a0000 + 25096
20 CoreFoundation 0x000000018200b540 0x181f2c000 + 914752
21 CoreFoundation 0x00000001820095e8 0x181f2c000 + 906728
22 CoreFoundation 0x0000000181f34f70 0x181f2c000 + 36720
23 GraphicsServices 0x000000018b8676f8 0x18b85c000 + 46840
24 UIKit 0x0000000186b36d90 0x186ac0000 + 486800
25 BoyingCaptial 0x00000001000d6378 0x100004000 + 861048
26 libdyld.dylib 0x00000001942cea04 0x1942cc000 + 10756
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x00000001943ccc24 0x1943cc000 + 3108
1 libdispatch.dylib 0x00000001942b1e6c 0x1942a0000 + 73324
2 libdispatch.dylib 0x00000001942a3998 0x1942a0000 + 14744
#6、动态库信息
Binary Images:
0x100004000 – 0x1001d7fff BoyingCaptial arm64 <c54d1ff7a496377682b367e4367724e7> /var/mobile/Containers/Bundle/Application/FF0F7FE9-B922-451A-A79D-0F6A7FFEE61B/BoyingCaptial.app/BoyingCaptial
0x120048000 – 0x12006ffff dyld arm64 <dddc36a8e70636f7a9fea757477bf90b> /usr/lib/dyld
0x180a38000 – 0x180a38fff Accelerate arm64 <8e155c8b26b133a28f7578ef67aacc38> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x180a3c000 – 0x180a4efff libCGInterfaces.dylib arm64 <bceab07321723c4ea6fa01e58e3ca63f> /System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/Libraries/libCGInterfaces.dylib</pre>
|
4、进入Organizer
5、找出提交审核APP的对应Archive版本,并导出到本地
6、解压本地导出的ipa文件:
7、找出错误日志中的如下信息:
BinaryImage、Architectures:
Path:
8、命令行cd到解压出来的文件目录下,找到Payload下的.app文件,执行如下命令
atos -arch arm64 -o APPName.app/BoyingCaptial -l 0x100004000 0x000000010009a784
|
9、出错信息就会显示出来: