Mar*_*tin 1 objective-c ios core-bluetooth bluetooth-lowenergy
我正在为Objective-C开发BLE.
我像下面的代码一样定义UUID:
static NSString *const LEDStateCharacteristicUUID = @"ffffffff-7777-7uj7-a111-d631d00173f4";
Run Code Online (Sandbox Code Playgroud)
我想通过以下代码为BLE设备写特性,它需要通过3个参数:1.Data 2.Characteristic 3.type
CBCharacteristic *chara = ??? // how to set the characteristic via above UUID let it can pass to following function?
[peripheral writeValue:data forCharacteristic:chara type:CBCharacteristicWriteWithoutResponse];
Run Code Online (Sandbox Code Playgroud)
如何通过上面的UUID设置特性让它可以传递给writeCharacteristic函数?
提前致谢.
首先,您需要知道您想要的服务UUID和特定UUID.当您拥有这些UUID时,可以使用下面的逻辑来获取正确的特征实例:
- (CBCharacteristic *)characteristicWithUUID:(CBUUID *)characteristicUUID forServiceUUID:(CBUUID *)serviceUUID inPeripheral:(CBPeripheral *)peripheral {
CBCharacteristic *returnCharacteristic = nil;
for (CBService *service in peripheral.services) {
if ([service.UUID isEqual:serviceUUID]) {
for (CBCharacteristic *characteristic in service.characteristics) {
if ([characteristic.UUID isEqual:characteristicUUID]) {
returnCharacteristic = characteristic;
}
}
}
}
return returnCharacteristic;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |