我正在开发一个Swift应用程序,它与外围设备保持蓝牙连接,并在超出范围然后返回时自动重新连接。在使用外设之前,需要发现2个特性(RX和TX)。 一切都在大部分时间都有效,但是当信号强度非常低时尝试重新连接时,有时会在发现特征之前超时。 我最终遇到了以下崩溃,但我无法弄清楚它为什么会发生或如何解决它。 我仍然是ios开发的新手,所以请保持温和。
这是来自crashlytics的崩溃日志:
> # Date: 2016-07-02T05:24:21Z
>
>Crashed: com.apple.main-thread
>
>0. libobjc.A.dylib 0x181699bd0 objc_msgSend + 16
>1. CoreBluetooth 0x187904ee0 __29-[CBXpcConnection handleMsg:]_block_invoke + 60
>2. libdispatch.dylib 0x181a6d630 _dispatch_call_block_and_release + 24
>3. libdispatch.dylib 0x181a6d5f0 _dispatch_client_callout + 16
>4. libdispatch.dylib 0x181a72cf8 _dispatch_main_queue_callback_4CF + 1844
>5. CoreFoundation 0x181fd0bb0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
>6. CoreFoundation 0x181fcea18 __CFRunLoopRun + 1628
>7. CoreFoundation 0x181efd680 CFRunLoopRunSpecific + 384
>8. GraphicsServices 0x18340c088 GSEventRunModal + 180
>9. UIKit 0x186d74d90 UIApplicationMain + 204
>10. Grainfather_Connect 0x10010d518 main (AppDelegate.swift:17)
>11. libdispatch.dylib 0x181a9e8b8 (Missing)
>