ios - AppStore 构建在 iPhone 3g 和 iPod Touch 上启动时崩溃

标签 ios iphone app-store

看了stackoverflow 和许多其他论坛后,决定问这个问题。最接近讨论我遇到的确切问题的是 this answer

我在 AppStore 中有一个基于相当稳定的代码库构建的应用程序,并且在过去两年中一直在使用。但是现在,在提交应用程序的最新更新后,它在 iPhone 3G(版本 4.2.1)上崩溃了。当我运行调试构建时它不会在设备上崩溃

以下是我根据其他帖子验证的要点:

  1. 所有构建配置(调试/分发/AppStore),已设置为最低版本 3.0,基础 SDK 为最新
  2. 有效架构值设置为 armv6 armv7
  3. 我没有收到“吃坏食物”异常(异常代码:0x8badf00d)
  4. 它适用于我可以测试的大多数较新的 iOS 设备
  5. 未选中“仅构建事件架构”
  6. 应用程序在启动后 5 秒内崩溃,所以不是看门狗干扰了启动
  7. 二进制文件是使用 XCode 3.2.6 构建的
  8. 符号化的崩溃日志中没有太多我能够理解的信息

这是崩溃日志

Date/Time:       2011-07-01 11:16:06.728 -0400
OS Version:      iPhone OS 4.2.1 (8C148)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0048af00
Crashed Thread:  0

Thread 0 Crashed:
0   ???                             0x0048af00 0 + 4763392

Thread 1:
0   libSystem.B.dylib               0x35d8f974 kevent + 24
1   libSystem.B.dylib               0x35e5e2fc _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x35e5dd68 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x35e5d788 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x35de6970 _pthread_wqthread + 392
5   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 2:
0   libSystem.B.dylib               0x35de454c __semwait_signal + 24
1   libSystem.B.dylib               0x35d90f70 _pthread_cond_wait + 1140
2   libSystem.B.dylib               0x35d90910 pthread_cond_wait + 48
3   Foundation                      0x3517ed5e -[NSCondition wait] + 170
4   Foundation                      0x35169106 -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 764
5   Foundation                      0x35168d5e -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 98
6   MyCrashingApp                           0x00014ab0 -[URLDownload connectionDidFinishLoading:] (URLDownload.m:79)
7   Foundation                      0x35184232 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 62
8   Foundation                      0x351841b4 _NSURLConnectionDidFinishLoading + 72
9   CFNetwork                       0x302957e0 URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 212
10  CFNetwork                       0x30284b00 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 132
11  CFNetwork                       0x30284d7c URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 768
12  CFNetwork                       0x3028497c URLConnectionClient::processEvents() + 92
13  CFNetwork                       0x30284844 MultiplexerSource::perform() + 184
14  CFNetwork                       0x30284780 MultiplexerSource::_perform(void*) + 4
15  CoreFoundation                  0x375518ca __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 8
16  CoreFoundation                  0x37521ec6 __CFRunLoopDoSources0 + 378
17  CoreFoundation                  0x375216f2 __CFRunLoopRun + 258
18  CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
19  CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
20  Foundation                      0x35156238 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 200
21  Foundation                      0x351d52ea -[NSRunLoop(NSRunLoop) runUntilDate:] + 62
22  MyCrashingApp                           0x000148a4 -[URLDownload startDownload:] (URLDownload.m:57)
23  CoreFoundation                  0x375466fc __invoking___ + 60
24  CoreFoundation                  0x375465d6 -[NSInvocation invoke] + 110
25  Foundation                      0x351cd8fe -[NSInvocationOperation main] + 78
26  Foundation                      0x3516054a -[__NSOperationInternal start] + 658
27  Foundation                      0x351602a8 -[NSOperation start] + 16
28  Foundation                      0x35174b8c ____startOperations_block_invoke_2 + 40
29  libSystem.B.dylib               0x35e5d268 _dispatch_call_block_and_release + 12
30  libSystem.B.dylib               0x35e5d788 _dispatch_worker_thread2 + 120
31  libSystem.B.dylib               0x35de6970 _pthread_wqthread + 392
32  libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 3:
0   libSystem.B.dylib               0x35d5b40c semaphore_wait_signal_trap + 8
1   libSystem.B.dylib               0x35d91448 semaphore_wait_signal + 4
2   libSystem.B.dylib               0x35d5d4ec pthread_mutex_lock + 376
3   WebCore                         0x330777c4 _WebTryThreadLock(bool) + 44
4   WebCore                         0x33077e5c WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 28
5   CoreFoundation                  0x3752a808 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
6   CoreFoundation                  0x3752a636 __CFRunLoopDoObservers + 494
7   CoreFoundation                  0x375219a2 __CFRunLoopRun + 946
8   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
9   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
10  WebCore                         0x3318bd14 RunWebThread(void*) + 524
11  libSystem.B.dylib               0x35de5b44 _pthread_start + 364
12  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 4:
0   libSystem.B.dylib               0x35de72fc __workq_kernreturn + 8
1   libSystem.B.dylib               0x35de6b50 _pthread_wqthread + 872
2   libSystem.B.dylib               0x35ddd2fc start_wqthread + 0

Thread 5:
0   libSystem.B.dylib               0x35d5b3b0 mach_msg_trap + 20
1   libSystem.B.dylib               0x35d5d894 mach_msg + 60
2   CoreFoundation                  0x37521f7c __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x37521780 __CFRunLoopRun + 400
4   CoreFoundation                  0x37521504 CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x37521412 CFRunLoopRunInMode + 54
6   Foundation                      0x3517ec4e +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 210
7   Foundation                      0x3515cb8a -[NSThread main] + 42
8   Foundation                      0x35155b90 __NSThread__main__ + 908
9   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
10  libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 6:
0   libSystem.B.dylib               0x35d848d8 select$DARWIN_EXTSN + 20
1   CoreFoundation                  0x3755aa34 __CFSocketManager + 356
2   libSystem.B.dylib               0x35de5b44 _pthread_start + 364
3   libSystem.B.dylib               0x35dd77a4 thread_start + 0

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x3e73eb48      r3: 0x00000000
    r4: 0x0048aba0    r5: 0x00000000      r6: 0x3e73eaa8      r7: 0x0048aba0
    r8: 0x0048af00    r9: 0x3e25d978     r10: 0x35ce9029     r11: 0x0048af00
    ip: 0x3e6a4c58    sp: 0x2fdfe298      lr: 0x3596ed90      pc: 0x0048af00
  cpsr: 0x40070010

任何答案,即使它们只是为我指明了正确的方向,我们也将不胜感激。

最佳答案

下面是帮助解决这个问题的方法。我希望它也能帮助其他人。

我创建的 AppStore 版本使用的是 Xcode 3.2.6

Apparently there's some problem从去年开始使用 XCode 的链接器。 I stumbled in to this当试图解决 -all_load 标志错误时。

现在,当我使用 XCode4 创建相同的构建(没有代码更改,没有设置更改)时,临时版本不会崩溃。

现在我正在用这个版本更新 appStore 版本。如果阅读此答案的任何人认为知道 XCode 的这种行为背后的技术推理,请发布您的答案。这将有助于节省数小时的头部撞墙!

使用以下关键字进行谷歌搜索有帮助:
“-all_load”崩溃
RNBRunLoopLaunchInferior(当应用程序崩溃并打印 RNBRunLoopLaunchInferior DNBProcessLaunch() returned error: 'DRHT' 时出现在控制台中)

希望这对您有所帮助!

关于ios - AppStore 构建在 iPhone 3g 和 iPod Touch 上启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552873/

相关文章:

ios - Appirater - 点击后没有任何反应

ios - 应用商店版本号和内部版本号

ios - Controller 中的旋转木马在我的收藏 View 中弄乱了尺寸

ios - 在设备上调试时应用程序崩溃

iphone - 如何减少初始化 View Controller 的时间

iphone - UIView 动画 block 用户交互

iphone - 在AppStore提交应用后如何更改内容?

iphone - ARC奇怪的行为

iphone - 如何创建自定义 UIWebView 页面

ios - 从 iOS 应用准备电话调用,无需开始通话