本帖最后由 SwiftRobot 于 2016-9-27 02:29 编辑


上一篇我们讲到了用peripheral的方法获得characteristic,下面我们就来读取他,废话不多说,直接上代码。

iOS CoreBluetooth的Swift实现(3)读取characteristic数据 1

iOS CoreBluetooth的Swift实现(3)读取characteristic数据 - 敏捷大拇指 - iOS CoreBluetooth的Swift实现(3)读取characteristic数据 1


如果数据是不可读的,那么可以通过枚举:

  • CBCharacteristicPropertyRead的options
  • CBCharacteristicPropertyNoifyoptions的options


来进行判断。




数据的写入

数据写入的话完全可以和数据的读取做一下类比。

CBPeripheral有方法:

[Swift] 纯文本查看 复制代码
writeValue(NSData, forCharacteristic:CBCharacteristic, type:CBCharacteristicWriteType)


最后一个参数我们可以选择CBCharacteristicWriteWithResponse,这样写入成功后就可以回调

[Swift] 纯文本查看 复制代码
func peripheral(peripheral:CBPeripheral, didWriteValueForCharacteristic characteristic:CBCharacteristic, error:NSError?)


是不是很简单?

简单才有鬼啊!

数据的类型一定要搞好啊!怎么调也找不到正常的样子啊!用NSData保存value后发现一脸萌比啊!总之数据转换开始做时一定要注意好,不然还是调试挺久的。

所以推荐神器LightBlue!

有了它,可以方便查看uuid和相关数据的不同类型格式的取值,功能非常友好。

iOS CoreBluetooth的Swift实现(3)读取characteristic数据 2

iOS CoreBluetooth的Swift实现(3)读取characteristic数据 - 敏捷大拇指 - iOS CoreBluetooth的Swift实现(3)读取characteristic数据 2


iOS CoreBluetooth的Swift实现(3)读取characteristic数据 3

iOS CoreBluetooth的Swift实现(3)读取characteristic数据 - 敏捷大拇指 - iOS CoreBluetooth的Swift实现(3)读取characteristic数据 3


下一篇我们来讲讲如何优化,敬请期待,可以先在敏捷大拇指上先回帖讨论。




相关内容

iOS CoreBluetooth的Swift实现(1)蓝牙硬件产品开发的基本姿势

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理

iOS CoreBluetooth的Swift实现(3)读取characteristic数据




作者:COOPERC