我的应用程序在两台iOS设备上运行(均为6.1.4),其中一台设备充当中央设备,另一台充当外设。使用CoreBluetooth(BLE)将数据从CentralManager发送到PeripheralManager
我已经成功地从外围设备获取通知(设置通知的特征)到中心就好了。
但是,我想从中央写入一个值到外设给特定的可写特性,但总是失败。
的peripheral:didWriteValueForCharacteristic:error:
委托的方法是直接调用其中的错误描述说:
“一个或多个参数无效”
我一直在寻找的净任何线索,但还没有想出什么是错的。
这是我如何设置在周侧的特点:
[[CBMutableCharacteristic alloc] initWithType:<My CBUUID> properties:CBCharacteristicPropertyWrite value:nil permissions:0];
我看到,当我发现在中央侧的特点,我写的特点是存在的。我在那个时候储存了一个参考资料,以后我会在写我的价值时尝试使用。我正在写的价值仅仅是一个文本字符串,我转换为NSData的,像这样:
NSString *payloadMessage = @"Hello";
NSData *payload = [payloadMessage dataUsingEncoding:NSUTF8StringEncoding];
[peripheral writeValue:payload forCharacteristic:<myCharacteristic> type:CBCharacteristicWriteWithResponse];
唯一奇怪的事情,我可以看到的是,我的特点的属性被设置为138。它看起来既可写以及具有扩展属性。不知道为什么这是由CoreBluetooth框架自动添加的。不知道它是否重要。
似乎有什么特征或我试图发送的数据有问题,但对于我的生活我无法弄清楚。如果有人有任何建议或想法,我将不胜感激
我有同样的问题 - 谢谢你!非常误导性的错误信息!怪苹果。 –