执行Swift库时出现iOS崩溃

时间:2015-07-03 21:02:41

标签: ios swift crash

我正在遇到针对不同目标在其他设备上发生的一系列特殊崩溃事件。当我试图象征它时,我在随机代码位置误入歧途:这是崩溃时二进制图像的顶部:

  

二进制图像:0x73000 - 0x3cafff + inArrivo Express armv7
  在/ var /移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/inArrivo Express 0x6b9000 - 0x820fff   libswiftCore.dylib armv7
  /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftCore.dylib 0x995000 - 0x99cfff   libswiftCoreAudio.dylib armv7
  /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftCoreAudio.dylib 0x9ab000 - 0x9b6fff   libswiftCoreGraphics.dylib armv7< 95229d09c03d3eba9fbb038741503af3>   /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftCoreGraphics.dylib 0x9cd000 -
  0x9d4fff libswiftCoreImage.dylib armv7   < 59ca6e9173993aa39882799efdafd355>   /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftCoreImage.dylib 0x9e4000 - 0x9ebfff   libswiftDarwin.dylib armv7< 764c0e157b49314088a4c9f8e1390a1a>   /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftDarwin.dylib 0x9fc000 - 0x9fffff   libswiftDispatch.dylib armv7
  /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftDispatch.dylib 0xa0e000 - 0xa3dfff   libswiftFoundation.dylib armv7
  /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftFoundation.dylib 0xa78000 -
  0xa7ffff libswiftObjectiveC.dylib armv7   < 786938b80ba63395aa5da6935df0c02e>   /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftObjectiveC.dylib 0xa8c000 -
  0xa8ffff libswiftSecurity.dylib armv7   < 12a8743e1ad636ebaaac523d1d709341>   /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftSecurity.dylib 0xa9a000 - 0xaa5fff   libswiftUIKit.dylib armv7
  /私营/无功/移动/应用/ D2AE6804-C6CC-4953-AB14-1C5439420D0F / inArrivo   Express.app/Frameworks/libswiftUIKit.dylib

虽然崩溃发生在这个框架中:

1   CoreFoundation                      0x2f481167 0x2f3e2000 + 651623
2   CoreFoundation                      0x2f480d7f 0x2f3e2000 + 650623
3   CoreFoundation                      0x2f47f11b 0x2f3e2000 + 643355
4   CoreFoundation                      0x2f3e9ebf 0x2f3e2000 + 32447
5   CoreFoundation                      0x2f3e9ca3 0x2f3e2000 + 31907
6   GraphicsServices                    0x342ef663 0x342e6000 + 38499
7   UIKit                               0x31d3614d 0x31cc8000 + 450893
8   inArrivo Express                    0x0007dc5d 0x73000 + 44125 
9   libdyld.dylib                       0x3a173ab7 0x3a172000 + 6839

跟踪程序几乎一文不值,因为崩溃发生在随机时间。它可能是什么?

Xcode崩溃报告比QuincyKit报告更准确,并且不变地报告:

__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION as in:
  

线程0:0 ??? 0000000000 0 + 0 1
  CoreFoundation 0x2f481166    CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 14 2 CoreFoundation 0x2f480d7e __CFRunLoopDoTimer + 782 3
  CoreFoundation 0x2f47f11a __CFRunLoopRun + 1210 4
  CoreFoundation 0x2f3e9ebe CFRunLoopRunSpecific + 522 5   CoreFoundation 0x2f3e9ca2 CFRunLoopRunInMode + 106 6
  GraphicsServices 0x342ef662 GSEventRunModal + 138 7
  UIKit 0x31d3614c UIApplicationMain + 1136 8
  inArrivo Express 0x000dbbdc 0xd1000 + 43996 9
  libdyld.dylib 0x3a173ab6 start + 2

     

线程1崩溃:0 libsystem_kernel.dylib 0x3a216808   kevent64 + 24 1 libdispatch.dylib 0x3a162de8   _dispatch_mgr_invoke + 228 2 libdispatch.dylib 0x3a151f6e _dispatch_mgr_thread $ VARIANT $ up + 34

在我的应用程序的主题上,即使崩溃发生在另一个主题上。

1 个答案:

答案 0 :(得分:0)

崩溃似乎是由于在前一个会话终止之前在会话上调用了新的数据任务。通过尝试并删除特定于目标的所有代码,我通过试验得出了错误。苹果表示,在Swift问题上发生的崩溃更接近于Objective-c,但它似乎又回到了C悬空指针的时代!这就是90年代计算机科学和PHP编程经验的优势所在!请苹果注意,未来20年Swift应该是一种21世纪的语言,运行时支持应该是结果。