【发布时间】:2013-05-18 10:05:10
【问题描述】:
我正在 IOS 6 上开发我的第一个智能蓝牙 (BLE) 软件。
我能够接收通知并读取与 Nordic Development kit 交换的特性值,包括来自我创建的自定义 GATT 配置文件(具有用于服务和特性的特定 UUID)。
但是,每次我尝试在特征中写入值时,都会收到错误消息Unknown Error,而没有更多信息。没有错误代码,没有来自 XCode 的 CoreBluetooth[WARNING]。
我已将我的服务和特性属性权限设置为无需身份验证即可写入。使用开发北欧工具,我可以在我的特征中写入一个值,所以这不会是权限问题。
这是我用来写值的代码
uint16_t val = 2;
NSData * valData = [NSData dataWithBytes:(void*)&val length:sizeof(val)];
[testPeripheral writeValue:valData forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
以及出现“未知错误”错误的回调
- (void) peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:
(CBCharacteristic *)characteristic error:(NSError *)error
{
NSLog(@"Did write characteristic value : %@ with ID %@", characteristic.value, characteristic.UUID);
NSLog(@"With error: %@", [error localizedDescription]);
//code...
}
控制台中的错误文本是
Did write characteristic value : <068c0e00 fedc070c 050b3200 04> with ID Unknown (<4444>)
With error: Unknown error.
错误信息中的值不是我要写的??!! 444 是我用于测试的正确 UUID。
值的长度重要吗?
在互联网上查找 hoirs 并尝试了很多测试后,我需要 SO 来弄清楚。 有什么建议吗?
【问题讨论】:
-
如果仍未解决,错误号是多少?
标签: ios ios6 bluetooth bluetooth-lowenergy