【发布时间】:2015-05-15 19:20:38
【问题描述】:
我正在开发一个使用 Core Bluetooth 的 Appcelerator 模块。我可以毫无问题地连接到外围设备,并订阅一个特性。我已经实现了所有委托功能,并且一切似乎都按预期触发,除了在尝试读取或写入时出现“不太可能的错误”。我的中心方法如下所示。
-(void)readValueForCharacteristicByUUID:(NSString *)uuidstring
{
if (self.connectedService)
{
CBMutableCharacteristic* characteristic = [self characteristicFromUUIDstring:uuidstring];
if (characteristic)
{
[self.connectedPeripheral readValueForCharacteristic:characteristic];
}
} else {
NSLog(@"[INFO] No service to read");
}
}
-(void)writeValue:(NSData*)value ForCharacteristicByUUID:(NSString*)uuidstring
{
if (self.connectedService)
{
CBMutableCharacteristic* characteristic = [self characteristicFromUUIDstring:uuidstring];
if (characteristic)
{
[self.connectedPeripheral writeValue:value forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
}
} else {
NSLog(@"[INFO] No service to write to");
}
}
-(CBMutableCharacteristic*)characteristicFromUUIDstring:(NSString*)uuidstring
{
for (CBMutableCharacteristic* c in self.connectedService.characteristics)
{
if ([c.UUID.UUIDString isEqualToString:uuidstring])
{
return c;
}
}
NSLog(@"No Characteristic found with that uuid");
}
我认为这可能是权限问题,所以这是我用来在外围设备中创建特征的代码。
CBMutableCharacteristic* c = [[CBMutableCharacteristic alloc] initWithType:cuuid
properties:CBCharacteristicPropertyRead|CBCharacteristicPropertyWrite|
CBCharacteristicPropertyNotify
value:nil
permissions:CBAttributePermissionsReadable|CBAttributePermissionsWriteable];
【问题讨论】:
标签: ios bluetooth core-bluetooth