运行我正在开发的蓝牙应用程序时,我偶尔会在控制台上收到消息“CoreBluetooth[警告]未知错误:1309”。即使该消息指出这是警告,它也会停止应用程序的执行。我已经能够通过关闭蓝牙设置然后重新打开来解决此问题。谁能告诉我导致此问题的原因以及我应该采取哪些措施来避免它?
这是一个已知问题,是由于 CoreBluetooth 中的死锁(Apple 的 bug)引起的,
1309错误大多出现在你的应用作为Central和Peripheral运行时,当操作相互重叠时,这种情况下会产生死锁(可以通过重启设备来解决)。
似乎 BLE 堆栈在其他一些情况下(iOS 7 及更低版本)也会损坏,在 iOS 7.1 上堆栈更加稳定,并且不存在此类问题。
我们如何解决这样的问题呢?
显示故障排除屏幕,用户可以自己解决问题。
您可以在此处找到已知的 iOS 问题http://help.getpebble.com/customer/portal/articles/957568-troubleshooting#Pair http://help.getpebble.com/customer/portal/articles/957568-troubleshooting#Pair
无论如何我认为你可以开始使用https://github.com/l0gg3r/LGBluetooth https://github.com/l0gg3r/LGBluetooth这将减少你身边出现错误的机会,并使你的工作更加有效。
这是读/写示例
Read
[LGUtils readDataFromCharactUUID:@"f045"
serviceUUID:@"5ec0"
peripheral:peripheral
completion:^(NSData *data, NSError *error) {
NSLog(@"Data : %s Error : %@", (char *)[data bytes], error);
}];
Write
int8_t dataToWrite = 0xFF;
[LGUtils writeData:[NSData dataWithBytes:&dataToWrite length:sizeof(dataToWrite)]
charactUUID:@"cef9"
serviceUUID:@"5ec0"
peripheral:peripheral
completion:^(NSError *error) {
NSLog(@"Error : %@", error);
}];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)