iOS蓝牙开发CBCharacteristicWriteType配置不正确导到CBPeripheral writeValue写不成功?

释放双眼,带上耳机,听听看~!

特征属性枚举类型有:Read、Without ResponseWrite、Write、Notify

Read:读取数据但是不怎么更新的特征值。

Write Without Response:写入数据没有反馈。

Write:写入数据有反馈。

Notify:读取数据但经常更新。

typedef NS_ENUM(NSInteger, CBCharacteristicWriteType) {

             CBCharacteristicWriteWithResponse = 0,

             CBCharacteristicWriteWithoutResponse,

  };

 

type参数可以为CBCharacteristicWriteWithResponse或type:CBCharacteristicWriteWithoutResponse,区别是给特征写入数据是否会有反馈。

– (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type

如果设置为WithResponse,则可以写成功一次,只可读。

如果为WithoutResponse,则一次也不能写成功,可以读,也可以通知。

//只有 characteristic.properties 有write的权限才可以写,需要条件判断一下

  if(_myCharacteristic.properties & CBCharacteristicPropertyWrite){

                [_myPeripheral writeValue:sendData forCharacteristic:_myCharacteristic type:CBCharacteristicWriteWithResponse];

      }else{

              NSLog(@"该字段不可写!");    

      }

 

人已赞赏
iOS文章

iOS工程编译出现Duplicate Interface definition for class 'xxxxxx'

2020-5-9 3:16:49

iOS文章

iOS UICollectionView数据少无法滚动问题?

2020-5-9 4:32:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索