Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone CoreBluetooth[错误]XPC连接中断,正在重置_Iphone_Core Bluetooth - Fatal编程技术网

Iphone CoreBluetooth[错误]XPC连接中断,正在重置

Iphone CoreBluetooth[错误]XPC连接中断,正在重置,iphone,core-bluetooth,Iphone,Core Bluetooth,当我试图用我的iphone应用程序连接蓝牙时,请不要使用蓝牙。它使CoreBluetooth[ERROR]XPC连接中断、重置。 为什么会这样?我也会这样-特别是在启动CBCentralManager(CM)扫描时 当我停止CM扫描并重新启动时,它通常会被解决。 恐怕这是CoreBluetooth实现中的一个错误。“CoreBluetooth[ERROR]XPC连接中断,正在重置”表示Bluetooth蓝牙守护进程已崩溃。通过打开控制台并查看系统日志和DiagnosticReports,您可以查

当我试图用我的iphone应用程序连接蓝牙时,请不要使用蓝牙。它使CoreBluetooth[ERROR]XPC连接中断、重置。
为什么会这样?

我也会这样-特别是在启动CBCentralManager(CM)扫描时 当我停止CM扫描并重新启动时,它通常会被解决。
恐怕这是CoreBluetooth实现中的一个错误。

“CoreBluetooth[ERROR]XPC连接中断,正在重置”表示
Bluetooth
蓝牙守护进程已崩溃。通过打开控制台并查看系统日志和DiagnosticReports,您可以查看更多详细信息

在我的例子中,blued中出现异常似乎是因为SerialNumber在某个地方为零。我没有解决方法,并已向bugreport.apple.com(bug 16075785)报告了它

实际导致异常的方法是确定的,但因计算机而异。在一台装有内置蓝牙4.0芯片的计算机上,这是对
-[CBPeripheral discoverCharacteristics:forService:][/code>的调用。在另一台配备Bluetooth 4.0 USB适配器的计算机上,这是对
-[CBPeripheral writeValue:forCharacteristic:type:][/code>或
-[CBPeripheral setNotifyValue:forCharacteristic:][/code>

'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: SerialNumber)'
    *** First throw call stack:
    (
        0   CoreFoundation                      0x00007fff91b1141c __exceptionPreprocess + 172
        1   libobjc.A.dylib                     0x00007fff9231de75 objc_exception_throw + 43
        2   CoreFoundation                      0x00007fff91a0c62e -[__NSDictionaryM setObject:forKey:] + 1102
        3   blued                               0x0000000103d5d422 blued + 336930
        4   blued                               0x0000000103d4b115 blued + 262421
        5   IOBluetooth                         0x00007fff97354093 -[IOBluetoothL2CAPChannel processIncomingData:] + 576
        6   IOBluetooth                         0x00007fff97353e3c -[IOBluetoothL2CAPChannel handleMachMessage:] + 45
        7   Foundation                          0x00007fff94d98e35 __NSFireMachPort + 94
        8   CoreFoundation                      0x00007fff91a42d04 __CFMachPortPerform + 388
        9   CoreFoundation                      0x00007fff91a42b69 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
编辑2014-02-27:由于设备GATT表包含服务180A«设备信息»中特征2A25«序列号字符串»的无效非UTF8值,并且Blue守护程序正在从中创建NSString*,并将其放入NSMutableDictionary中,因此发生了我的特定崩溃。临时解决方法是通过跳转到最近的ret命令,使setObject:forKey:never在Blue中失败:

sudo /Applications/Xcode.app/Contents/Developer/usr/bin/lldb <<PID of blued>>
breakpoint set --fullname "-[__NSDictionaryM setObject:forKey:]" --condition "$rdx == 0"
breakpoint command add 1
register write pc `$pc+967`
continue
DONE
sudo/Applications/Xcode.app/Contents/Developer/usr/bin/lldb
断点集--全名“-[\uu NSDictionaryM setObject:forKey:]”--条件“$rdx==0”
断点命令add1
注册写入pc`$pc+967`
持续
完成

我在向CBPeripheralManager添加服务时遇到此崩溃。事实证明,我在获取一些特征ID的方法中有一个严重的输入错误(没有编译器错误或警告)。因此,使用nil id创建了几个特征。我得到的只是iOS 7.1.1下日志中的这个错误,在查看我的设备日志时发现了BTServer崩溃报告。我的iOS 8.1.2设备没有将此记录到控制台,因此发现此问题可能更糟。

意外发现此错误的另一个原因:USB集线器和不良连接或电源导致调试环境损坏。这意味着它确实不定期地报告了错误

更多关于我的奥德赛:通常我直接连接到构建机器,但当我遇到这个问题时,它是通过我显示器的USB集线器连接的。我重新启动了Xcode,重新启动了构建机器,但没有成功。 有趣的事实:同样的设置现在已经正常运行了3天,但是在周五(今天)连接到调试器是不情愿的


希望这个提示不是一次性的奇迹;-)

请添加更多关于例外的详细信息我在我的Mac Mini@10.9上也面临这个问题(对于Mac应用程序,我使用IOBluetooth/IOBluetooth.h而不是corebooth/corebooth.h,其他一切都一样)。我注意到,如果我同时通过Wi-fi传输某些数据,则不会发生此问题。500 kbit/sec足以解决此问题。一旦我停止通过Wi-fi传输数据,问题就会再次出现。我怀疑根本原因在于时间问题,也就是说,CoreBluetooth堆栈中出现了一些比expeted更快的问题,因此问题是。我在2012年底运行10.9 Mavericks(Apple Bluetooth软件版本4.2.0f6 12982)的Mac Mini(Broadcom芯片组:20702B0固件版本:v78 c8621)上遇到了这个问题。CBCentralManager中断XPC连接,然后在连接到外围设备500毫秒后始终重置自身。尝试@Sergey使用nc通过wifi传输数据的技巧似乎没有什么帮助。另一方面,2011年年中同样运行Mavericks的旧款Mac Mini(Broadcom芯片组:20702A3固件版本:v131 c5495)没有出现这个问题。请大家继续向苹果报告。我们需要让他们解决这些问题。我也有同样的错误,这是完全不可接受的。同样的问题。在Macbook PRO Retina 15上运行10.9.2。只是为了补充这一点。如果在开发过程中OSX中出现了一个坏的GATT表,可以通过重新启动计算机来重置它。在尝试重新启动之前,我花了两个小时试图找出为什么找不到任何服务。重启解决了这个问题。通过禁用适配器并重新启用它(这将清除GATT缓存),可以在iOS上清除坏的GATT表。@SandyChapman,对于一些不正确的GATT条目,重新启动是不够的。请参阅以手动删除。如何获取堆栈跟踪?我在iOS上运行,我得到的只是log@AndréFratelli,我得到的堆栈跟踪来自OSX上的一个蓝色崩溃,它在控制台的诊断下可用。我不必在iOS上检索系统守护进程的崩溃报告,但希望本指南能有所帮助:我经历了一些类似的事情——通过在iOS上重置网络设置(清除蓝牙设备缓存)得到了解决。