5

Apple 拒绝了我们的 iphone 应用程序,表明它在 iPad 上崩溃了。我们无法在 3 台不同的 iPad 上重现崩溃,并要求他们确认。苹果回来说他们在 iPhone 4 上造成了崩溃(尽管日志显示的是 iPhone 3)。我们无法重现它...

他们通过以下方式产生崩溃:启动应用程序。选择让我先环顾四周。应用程序崩溃。

他们发回给我们的日志似乎没有显示任何应用程序自己的方法,称为:

ncident Identifier: 8B5E90DE-99FD-4279-B634-2C777209F2B3
CrashReporter Key:   6e9ccd0fcdc29915ebe22fb7376bd343cdcc252a
Hardware Model:      iPhone3,1
Process:         Snug [297]
Path:            /var/mobile/Applications/DB3EFF00-7E5E-492A-9108-1341B6371B0D/Snug.app/Snug
Identifier:      Snug
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-09-09 13:00:32.642 -0700
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  6

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x319e7660 __semwait_signal_nocancel + 24
1   libsystem_c.dylib               0x3410b4da nanosleep$NOCANCEL + 118
2   libsystem_c.dylib               0x340dd3a0 usleep$NOCANCEL + 44
3   libsystem_c.dylib               0x340dd2b6 abort + 118
4   Snug                            0x001f8760 uncaught_exception_handler + 12
5   CoreFoundation                  0x37830950 __handleUncaughtException + 68
6   libobjc.A.dylib                 0x3553533e _objc_terminate + 122
7   libc++abi.dylib                 0x36f683be safe_handler_caller(void (*)()) + 70
8   libc++abi.dylib                 0x36f6844a std::terminate() + 14
9   libc++abi.dylib                 0x36f6981e __cxa_rethrow + 82
10  libobjc.A.dylib                 0x355352a2 objc_exception_rethrow + 6
11  CoreFoundation                  0x37786506 CFRunLoopRunSpecific + 398
12  CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
13  GraphicsServices                0x33f45432 GSEventRunModal + 130
14  UIKit                           0x31532cce UIApplicationMain + 1074
15  Snug                            0x000f590c main (main.m:16)
16  Snug                            0x000f58c0 start + 32

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x319d73a8 kevent + 24
1   libdispatch.dylib               0x3095cea4 _dispatch_mgr_invoke + 708
2   libdispatch.dylib               0x3095cbc2 _dispatch_mgr_thread + 30

Thread 2:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 3:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 4 name:  WebThread
Thread 4:
0   libsystem_kernel.dylib          0x319d7004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x319d71fa mach_msg + 50
2   CoreFoundation                  0x378043ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x37803124 __CFRunLoopRun + 876
4   CoreFoundation                  0x3778649e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
6   WebCore                         0x3312fc9c RunWebThread(void*) + 396
7   libsystem_c.dylib               0x340a572e _pthread_start + 314
8   libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 5 name:  com.apple.NSURLConnectionLoader
Thread 5:
0   libsystem_kernel.dylib          0x319d7004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x319d71fa mach_msg + 50
2   CoreFoundation                  0x378043ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x37803124 __CFRunLoopRun + 876
4   CoreFoundation                  0x3778649e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
6   Foundation                      0x38016bb2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 302
7   Foundation                      0x38016a7a -[NSThread main] + 66
8   Foundation                      0x380aa58a __NSThread__main__ + 1042
9   libsystem_c.dylib               0x340a572e _pthread_start + 314
10  libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 6 Crashed:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 7:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 8:
0   libsystem_kernel.dylib          0x319e7cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3409ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x3409fcc8 start_wqthread + 0

Thread 9 name:  com.apple.CFSocket.private
Thread 9:
0   libsystem_kernel.dylib          0x319e7570 __select + 20
1   CoreFoundation                  0x3780863a __CFSocketManager + 726
2   libsystem_c.dylib               0x340a572e _pthread_start + 314
3   libsystem_c.dylib               0x340a55e8 thread_start + 0

Thread 6 crashed with ARM Thread State:
    r0: 0x00000004    r1: 0x00000000      r2: 0x00000000      r3: 0x00000000
    r4: 0x0c8cc800    r5: 0x0036a08c      r6: 0x04339000      r7: 0x04338fe0
    r8: 0x3f29fd30    r9: 0x00000000     r10: 0x3f29fd50     r11: 0x00000000
    ip: 0x00000170    sp: 0x04338fc0      lr: 0x3409ff3d      pc: 0x319e7cd4
  cpsr: 0x40000010

谁能用这个崩溃报告启发我们?

更新:

我们催促应用审查团队向我们发送控制台跟踪信息,他们做到了。在跟踪中,很明显正在调用一个不存在的 String 类别方法。

错误在于特定类别实现文件未添加到我们的发布目标中。所以一切都很完美,但是当应用程序被归档时,一个实现文件丢失了。

4

3 回答 3

2

不幸的是,这个日志看起来并不太有用——它只是显示了主线程正在处理一个从另一个线程重新抛出的异常;在记录日志时,该线程已经开始执行其他操作。

RestKit您提到您对循环的怀疑,并且有可能NSOperation抛出异常。这是可能的并且值得检查(并祈祷它不会破坏其他东西......),但现在可能是时候请求应用审查团队为您提供更好的重现步骤了。看看你是否能确定你们都在做什么不同的事情。我希望我有一个更好的答案给你,但我认为在应用程序的这一部分探索你在后台所做的一切,并试图找出重现的缺失步骤将是你最好的选择. 祝你好运!

于 2012-09-11T13:01:47.903 回答
1

崩溃发生在线程 0 中最顶部的 Snug 行 4

   Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x319e7660 __semwait_signal_nocancel + 24
1   libsystem_c.dylib               0x3410b4da nanosleep$NOCANCEL + 118
2   libsystem_c.dylib               0x340dd3a0 usleep$NOCANCEL + 44
3   libsystem_c.dylib               0x340dd2b6 abort + 118
4   Snug                            0x001f8760 uncaught_exception_handler + 12
5   CoreFoundation                  0x37830950 __handleUncaughtException + 68
6   libobjc.A.dylib                 0x3553533e _objc_terminate + 122
7   libc++abi.dylib                 0x36f683be safe_handler_caller(void (*)()) + 70
8   libc++abi.dylib                 0x36f6844a std::terminate() + 14
9   libc++abi.dylib                 0x36f6981e __cxa_rethrow + 82
10  libobjc.A.dylib                 0x355352a2 objc_exception_rethrow + 6
11  CoreFoundation                  0x37786506 CFRunLoopRunSpecific + 398
12  CoreFoundation                  0x37786366 CFRunLoopRunInMode + 98
13  GraphicsServices                0x33f45432 GSEventRunModal + 130
14  UIKit                           0x31532cce UIApplicationMain + 1074
15  Snug                            0x000f590c main (main.m:16)
16  Snug                            0x000f58c0 start + 32

该应用程序导致了一个未被捕获的异常。要对报告进行符号化,只需将其拖入 xCode - 您需要具有已审核版本的 dSYM 文件。然后 xCode 将向您显示发生问题的确切行。要获得 dSym,您需要“构建和归档”。

此外,由于崩溃代码是

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000

崩溃的原因是内存访问问题。在许多情况下会生成此类崩溃报告,即尝试将 nil 对象插入到数组或字典中。(因为崩溃发生在主线程中,而不是报告的线程 6 中)

在您的情况下,我没有看到任何明显的插入,但是我会检查从主文件第 16 行开始的逻辑以及所有后续内容。我假设您正在访问一个在此调用时不再存在的对象。

于 2012-09-10T16:32:51.137 回答
0

您可以使用以下内容分析崩溃报告

从苹果分析崩溃报告的步骤:

将推送到应用商店的发布 .app 文件、发布时创建的 .dSYM 文件和从 APPLE 接收的崩溃报告复制到文件夹中。

打开终端应用程序并转到上面创建的文件夹(使用 CD 命令)

atos -arch armv7 -o YOU​​RAPP.app/YOURAPP MEMORY_LOCATION_OF_CRASH。根据报告,内存位置应该是应用程序崩溃的位置。

例如:atos -arch armv7 -o 'app name.app'/'app name' 0x0003b508

这将向您显示导致崩溃的确切行、方法名称。

例如:[类名函数名:];-510

象征国际音标

如果我们使用 IPA 进行符号化 - 只需将扩展名 .ipa 重命名为 .zip ,将其解压缩,然后我们可以获得一个包含应用程序的有效负载文件夹。在这种情况下,我们不需要 .dSYM 文件。

符号化 iPhone 应用程序崩溃报告的链接

于 2012-09-11T08:33:06.870 回答