Jam*_*Lin 18 iphone objective-c ios core-bluetooth
当我正在开发运行BlueTooth应用程序时,我偶尔会在控制台上收到消息"CoreBluetooth [WARNING] Unknown error:1309".即使消息声明它是一个警告,它也会停止执行应用程序.我已经能够通过关闭蓝牙设置然后重新打开来解决这个问题.任何人都可以告诉我是什么导致这个以及我应该做些什么来避免它?
这是一个已知问题,这是由于 CoreBluetooth 中的死锁(Apple 的 bug)引起的,1309 错误大多出现在您的应用程序作为 Central 和 Peripheral 运行时,并且当操作相互重叠时,会产生死锁(其中可以通过重启设备来解决)。
似乎 BLE 堆栈在其他一些情况下(iOS 7 及更低版本)也会损坏,在 iOS 7.1 堆栈上更加稳定,并且不存在此类问题。
我们如何解决这样的问题呢?
显示故障排除屏幕,用户可以自己解决问题。
您可以在此处找到已知的 iOS 问题http://help.getpebble.com/customer/portal/articles/957568-troubleshooting#Pair
无论如何,我认为你可以开始使用https://github.com/l0gg3r/LGBluetooth这将减少你身边出现错误的机会,并使你的工作更加有效。
这是读/写示例
读
[LGUtils readDataFromCharactUUID:@"f045"
serviceUUID:@"5ec0"
peripheral:peripheral
completion:^(NSData *data, NSError *error) {
NSLog(@"Data : %s Error : %@", (char *)[data bytes], error);
}];
Run Code Online (Sandbox Code Playgroud)
写
int8_t dataToWrite = 0xFF;
[LGUtils writeData:[NSData dataWithBytes:&dataToWrite length:sizeof(dataToWrite)]
charactUUID:@"cef9"
serviceUUID:@"5ec0"
peripheral:peripheral
completion:^(NSError *error) {
NSLog(@"Error : %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |