ios – 使用CoreBluetooth(BLE)将数据从CentralManager发送到PeripheralManager

ios – 使用CoreBluetooth(BLE)将数据从CentralManager发送到PeripheralManager,第1张

概述我的应用程序在两个iOS设备上运行(都有6.1.4),其中一个设备充当中央设备,另一个设备充当外围设备. 我已经成功地从外设到中心获得通知(特征设置通知)就好了. 但是,我想将中心到外设的值写入特定的可写特性但总是失败. 外围设备:didWriteValueForCharacteristic:错误:立即调用委托的方法,其中错误描述如下: “One or more parameters were i 我的应用程序在两个iOS设备上运行(都有6.1.4),其中一个设备充当中央设备,另一个设备充当外围设备.

我已经成功地从外设到中心获得通知(特征设置通知)就好了.

但是,我想将中心到外设的值写入特定的可写特性但总是失败.

外围设备:dIDWriteValueForCharacteristic:错误:立即调用委托的方法,其中错误描述如下:

“One or more parameters were invalID”

我一直在网上寻找任何线索,但还没有想出什么是错的.

这就是我在外围设置特性的方法:

[[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框架会自动添加它.不知道是否重要.

我试图发送的特征或数据似乎有问题,但对于我的生活,我无法弄明白.如果有人有任何建议或想法,我将不胜感激

解决方法 我确实在Bluetooh-dev列表中收到了解决我问题的答案.

我没有使用正确的权限创建我的特征.

这是我原来的:

[[CBMutableCharacteristic alloc] initWithType:<CBUUID> propertIEs:CBCharacteristicPropertyWrite value:nil permissions:0];

应该是这样的:

[[CBMutableCharacteristic alloc] initWithType:<CBUUID> propertIEs:CBCharacteristicPropertyWrite value:nil permissions: **CBAttributePermissionsWriteable**];
总结

以上是内存溢出为你收集整理的ios – 使用CoreBluetooth(BLE)将数据从CentralManager发送到PeripheralManager全部内容,希望文章能够帮你解决ios – 使用CoreBluetooth(BLE)将数据从CentralManager发送到PeripheralManager所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1017681.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存