ios – CoreBluetooth特性值

ios – CoreBluetooth特性值,第1张

概述我对CBMutableCharacteristic的特征值有多长时间感到困惑.如果我有一个存档的对象数组,我可以将特征值设置为此存档数组吗?或者我最好为阵列中的每个存档对象分别设置一个特性? 该规范将特征值的最大长度限制为512个八位字节(蓝牙规范V4.0第3卷第3部分第3.2.9节).在中央端,您使用readValueForCharacteristic:API启动读取请求.然后在外围端,您会收到 我对CBMutableCharacteristic的特征值有多长时间感到困惑.如果我有一个存档的对象数组,我可以将特征值设置为此存档数组吗?或者我最好为阵列中的每个存档对象分别设置一个特性?解决方法 该规范将特征值的最大长度限制为512个八位字节(蓝牙规范V4.0第3卷第3部分第3.2.9节).在中央端,您使用readValueForCharacteristic:API启动读取请求.然后在外围端,您会收到相应的回调:

CBMutableCharacteristic *characteristic = // the characteristic with long data- (voID)peripheralManager:(CBPeripheralManager *)peripheral dIDReceiveReadRequest:(CBATTRequest *)request {  // Ensure offset is in the valID range  if (request.offset > characteristic.value.length) {   // respond with error   [self.peripheralManager respondToRequest:request withResult:CBATTErrorInvalIDOffset];     return;  }  NSRange range = NSMakeRange(request.offset,characteristic.value.length - request.offset);  request.value = [characteristic.value subdataWithRange:range];  [self.peripheralManager respondToRequest:request withResult:CBATTErrorSuccess];  }

只要响应不小于最大可传输单元(MTU),就会通过增加偏移值来调用回调. MTU由系统协商,您无法提前查询.因此,范围设置为一直延伸到数据长度,以便系统可以决定将多少数据发送到中心.默认情况下,它是20,但iOS 7有一些调整,可以实现更大的尺寸.查看WWDC视频以获取更多详细信息.

有了这些信息,您应该能够找到一种方法来公开您的数据.请记住,您拥有的服务和特征越多,发现所需的时间就越长.使用长读和长写只是一种方便.

总结

以上是内存溢出为你收集整理的ios – CoreBluetooth特性值全部内容,希望文章能够帮你解决ios – CoreBluetooth特性值所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1071875.html

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

发表评论

登录后才能评论

评论列表(0条)

保存