ios – 如何为可变特征创建描述符?

ios – 如何为可变特征创建描述符?,第1张

概述CBMutableDescriptor的文档:initWithType:value:表示为类型参数传递“标识特征的128位UUID”.然后它继续说你应该只使用CBUUIDCharacteristicUserDescriptionString或CBUUIDCharacteristicFormatString中的一个作为类型参数.最后,没有方法可以将描述符添加到可变特征中. 看来该参数正在做两个相互排 CBMutableDescriptor的文档:initWithType:value:表示为类型参数传递“标识特征的128位UUID”.然后它继续说你应该只使用CBUUIDCharacteristicUserDescriptionString或CBUUIDCharacteristicFormatString中的一个作为类型参数.最后,没有方法可以将描述符添加到可变特征中. @H_419_7@

@H_419_7@看来该参数正在做两个相互排斥的事情.一方面,它用于告诉O / S描述符适用的特征,另一方面,它用于设置描述符的类型.第二个更有意义,但是如何将描述符添加到特征中?

@H_419_7@无论您是传递特征的UUID还是CBUUIDCharacteristicUserDescriptionString,iOS都会崩溃

@H_419_7@

Assertion failure in -[CBMutableDescriptor initWithType:value:],/SourceCache/CoreBluetooth_Sim/CoreBluetooth-59.3/CBDescriptor.m:25
@H_419_7@创建CBMutableDescriptor并将其添加到CBMutableCharacteristic的正确方法是什么?

解决方法 你对文档是正确的.但为了让大家清楚,这里是CBDescriptor.h中的引文: @H_419_7@

@H_419_7@

@H_419_7@…Only the Characteristic User Description and Characteristic
Presentation Format descriptors are currently supported. The
Characteristic Extended PropertIEs and ClIEnt Characteristic
Configuration descriptors will be created automatically upon
publication of the parent service,depending on the propertIEs of the
characteristic itself.

@H_419_7@换句话说,除非您设置这些描述符,否则系统会阻止您(因此断言失败的原因).

@H_419_7@所以说你想使用特征用户描述描述符,你会这样做:

@H_419_7@

CBUUID *yourCharUUID = [CBUUID UUIDWithString:@"c07c5050-15a0-11e3-8ffd-0800200c9a66"];//whatever UUID your usingCBMutableCharacteristic *yourCharacteristic = [[CBMutableCharacteristic alloc]initWithType:yourCharUUID propertIEs:CBCharacteristicPropertyWriteWithoutResponse value:nil permissions:perms];CBUUID *userDescriptionUUID = [CBUUID UUIDWithString:CBUUIDCharacteristicUserDescriptionString];//or set it to the actual UUID->2901CBMutableDescriptor *yourDescriptor = [[CBMutableDescriptor alloc]initWithType:userDescriptionUUID value:@"myDescriptorValue"];yourCharacteristic.descriptors = @[yourDescriptor];
@H_419_7@如果您有任何疑问,请告诉我.

总结

以上是内存溢出为你收集整理的ios – 如何为可变特征创建描述符?全部内容,希望文章能够帮你解决ios – 如何为可变特征创建描述符?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存