短:
我正在开发一个iPhone应用程序,该应用程序现在已在应用程序商店中,并且正在使用TestFlight准备下一个版本进行生产。但是,我有几个iPhone 4s用户报告说,当启动屏幕出现时,应用程序立即崩溃了。
细节:

  • 仅在运行iOS8的iPhone 4s的应用程序的TestFlight版本上发生了崩溃。每次打开应用程序时都会发生这种情况,并在主 View 出现之前显示初始屏幕。
  • 它可以在所有设备上的模拟器上完美加载,而不会崩溃。它还可以在所有iPhone 5及更高版本的iPhone上正常运行。
  • 我已经使用Xcode 7.0.1构建了此版本的应用程序。

  • 可能的潜在客户:
  • 我过去也遇到过类似的问题,即我删除或重命名图像资产后,即使不再使用任何代码,该应用程序的TestFlighted版本也会在加载时崩溃。但是,此问题在所有iPhone设备上都是可重现的,此处并非如此。因此,我认为这不是问题。
  • 我唯一的猜测是,在构建时,Xcode 7可能搞砸了32位和64位体系结构(iPhone 4s运行32位,而iPhone 5s和更高版本都运行64位)。我将使用Xcode 6进行重建,然后再次提交给TestFlight,并报告是否可以解决问题。

  • 崩溃日志:
    我已经从我的一个Beta测试人员那里获得了崩溃日志,并将其包含在下面-但是,我需要帮助来了解此情况,因为我无法理解它。我尝试按照以下建议将崩溃日志拖放到“设备日志”中:How to symbolicate crash log Xcode?,但是它似乎没有正确地象征,如您在下面看到的:
    Beta:                YES
    Code Type:           ARM (Native)
    Parent Process:      launchd [1]
    
    Date/Time:           2015-10-03 20:23:13.499 -0700
    Launch Time:         2015-10-03 20:23:12.279 -0700
    OS Version:          iOS 8.4.1 (12H321)
    Report Version:      104
    
    Exception Type:  EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Triggered by Thread:  0
    
    Last Exception Backtrace:
    (0x288760d2 0x36d08c72 0x2739c81c 0x1bc6e8 0x1d2e8e 0x15a412 0xfbcaa 0xff894 0x2bed7558 0x2bf822f0 0x2bf82218 0x2bf8178c 0x2bf814c2 0x2bf81230 0x2bf811c4 0x2bed49c6 0x2b8ea3e0 0x2b8e5c30 0x2b8e5ab8 0x2b8e545a 0x2b8e524a 0x2c13afd0 0x2c13bd58 0x2c1465e4 0x2c13a0c2 0x2f34aebc 0x2883c030 0x2883b2f4 0x28839e4e 0x287856cc 0x287854de 0x2bf3c862 0x2bf37440 0x182b6e 0x372d6aaa)
    
    Thread 0 name:  Dispatch queue: com.apple.main-thread
    Thread 0 Crashed:
    0   libsystem_kernel.dylib          0x3739cdf0 0x37388000 + 85488
    1   libsystem_pthread.dylib         0x3741dc86 0x3741a000 + 15494
    2   libsystem_c.dylib               0x3733b8bc 0x372f2000 + 301244
    3   libc++abi.dylib                 0x36515bb8 0x36515000 + 3000
    4   libc++abi.dylib                 0x3652f66a 0x36515000 + 108138
    5   libobjc.A.dylib                 0x36d08f0e 0x36d02000 + 28430
    6   libc++abi.dylib                 0x3652cdec 0x36515000 + 97772
    7   libc++abi.dylib                 0x3652c8b4 0x36515000 + 96436
    8   libobjc.A.dylib                 0x36d08dba 0x36d02000 + 28090
    9   CoreFoundation                  0x28785768 0x2876b000 + 108392
    10  CoreFoundation                  0x287854de 0x2876b000 + 107742
    11  UIKit                           0x2bf3c862 0x2bec8000 + 477282
    12  UIKit                           0x2bf37440 0x2bec8000 + 455744
    13  Dap'd                           0x00182b6e 0xef000 + 605038
    14  libdyld.dylib                   0x372d6aac 0x372d5000 + 6828
    
    Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
    Thread 1:
    0   libsystem_kernel.dylib          0x3738924c 0x37388000 + 4684
    1   libdispatch.dylib               0x372a94ec 0x37297000 + 74988
    2   libdispatch.dylib               0x372a921e 0x37297000 + 74270
    
    Thread 2 name:  Dispatch queue: FBSSerialQueue
    Thread 2:
    0   libsystem_kernel.dylib          0x373894ec 0x37388000 + 5356
    1   libdispatch.dylib               0x372a6b8e 0x37297000 + 64398
    2   FrontBoardServices              0x2f34ae9e 0x2f335000 + 89758
    3   libdispatch.dylib               0x37298c80 0x37297000 + 7296
    4   libdispatch.dylib               0x372a34ce 0x37297000 + 50382
    5   libdispatch.dylib               0x372a2d9c 0x37297000 + 48540
    6   libdispatch.dylib               0x372a548e 0x37297000 + 58510
    7   libdispatch.dylib               0x372a689e 0x37297000 + 63646
    8   libsystem_pthread.dylib         0x3741ad9a 0x3741a000 + 3482
    9   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 3:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 4:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 5:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 6:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 7:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 8:
    0   libsystem_kernel.dylib          0x3739d9c0 0x37388000 + 88512
    1   libsystem_pthread.dylib         0x3741ae14 0x3741a000 + 3604
    2   libsystem_pthread.dylib         0x3741aaec 0x3741a000 + 2796
    
    Thread 9 name:  AVAudioSession Notify Thread
    Thread 9:
    0   libsystem_kernel.dylib          0x3738949c 0x37388000 + 5276
    1   libsystem_kernel.dylib          0x37389290 0x37388000 + 4752
    2   CoreFoundation                  0x2883b5ce 0x2876b000 + 853454
    3   CoreFoundation                  0x28839b94 0x2876b000 + 846740
    4   CoreFoundation                  0x287856cc 0x2876b000 + 108236
    5   CoreFoundation                  0x287854de 0x2876b000 + 107742
    6   libAVFAudio.dylib               0x27484ef8 0x2746b000 + 106232
    7   libAVFAudio.dylib               0x274773f4 0x2746b000 + 50164
    8   libsystem_pthread.dylib         0x3741cddc 0x3741a000 + 11740
    9   libsystem_pthread.dylib         0x3741cd4e 0x3741a000 + 11598
    10  libsystem_pthread.dylib         0x3741aaf8 0x3741a000 + 2808
    
    Thread 0 crashed with ARM Thread State (32-bit):
        r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x00000003
        r4: 0x00000006    r5: 0x39cdd9dc      r6: 0x39cc9840      r7: 0x0039a438
        r8: 0x145d6610    r9: 0x7420666f     r10: 0x39cc8074     r11: 0x145d6634
        ip: 0x00000148    sp: 0x0039a42c      lr: 0x3741dc8b      pc: 0x3739cdf0
      cpsr: 0x00000010
    

    最佳答案

    事实证明,我犯了一个菜鸟错误,并且崩溃确实是特定于iPhone 4s的:

    我的应用程序要求使用iOS 8或更高版本,并且我正在初始化一个摄像头捕获 session 预设值,该值与所有支持iOS8的iPhone的所有摄像头都兼容,但iPhone 4s的前置摄像头除外。

    这也解释了为什么无法在Simulator中重现崩溃,因为那里不支持相机捕获。

    10-07 20:05
    查看更多