【发布时间】:2013-08-07 23:08:05
【问题描述】:
我正在尝试使用 CoreBluetooth 写入特定的已知特征。我觉得这应该是可能的,因为我使用了德州仪器 BLE 实用程序,您可以在连接的外围设备上选择“写入值”操作,只需输入特征 UUID 和您要写入的值,它执行没有问题。
据我了解,为了做到这一点,我必须打电话给
[peripheral writeValue:data forCharacteristic:...];
将 CBCharacteristic 对象配置为具有正确的 UUID。
我尝试使用正确的 UUID 制作 CBMutableCharacteristic,甚至对我所知道的是此外围配置文件中的现有特征的正确权限,并且在尝试使用以下命令执行任何读/写操作时出现以下崩溃外设上的那个特性:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CBMutableCharacteristic peripheral]: unrecognized selector sent to instance 0x1ed57690'
这是我用来设置和写入特征的代码:
NSString *characteristicUUIDstring = @"fff1";
CBUUID *characteristicUUID = [CBUUID UUIDWithString:characteristicUUIDstring];
char dataByte = 0x10;
NSData *data = [NSData dataWithBytes:&dataByte length:1];
CBMutableCharacteristic *testCharacteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID properties:CBCharacteristicPropertyRead|CBCharacteristicPropertyWrite value:data permissions:CBAttributePermissionsReadable|CBAttributePermissionsWriteable];
[peripheral writeValue:data forCharacteristic:testCharacteristic type:CBCharacteristicWriteWithResponse];
【问题讨论】:
标签: ios core-bluetooth