【发布时间】:2014-02-23 14:38:14
【问题描述】:
这是我在这里的第一个问题,不要向我收费太高。 我想获得一些建议,如何使用 CBCharacteristicWriteWithoutResponse 从一台 iOS 设备向另一台设备发送几个字节。
我确实尝试使用 writeValue:forCharacteristic:type: 从一台 iOS 设备发送数据(中心角色) 并使用 peripheralManager:didReceiveWriteRequests: 在另一台 iOS 设备上接收它(Peripheral 角色)。
我对 type:CBCharacteristicWriteWitResponse 没有问题,但如果我用 type:CBCharacteristicWriteWithoutResponse 替换它,就停止接收它。怎么了?我是否遗漏了什么或 CBCentralManagerDelegate 不支持 WriteWithoutResponse?
这里有一些代码:
@interface BleCentralDemo : NSObject <CBCentralManagerDelegate> {}
@end
@implementation BleCentralDemo
-(void) writeValue:(int)sUUID characteristicUUID:(int)cUUID p:(CBPeripheral *)p data:(NSData *)data {
[p writeValue:data forCharacteristic:cUUID type:CBCharacteristicWriteWithResponse]; // sent, received
[p writeValue:data forCharacteristic:cUUID type:CBCharacteristicWriteWithOutResponse]; // sent, not received
}
@end
@interface BlePeripheralDemo : NSObject <CBPeripheralManagerDelegate> {}
@end
@implementation BlePeripheralDemo
-(void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests {
for (CBATTRequest *request in requests){
NSLog(@"request.value:%@", request.value);
[peripheral respondToRequest:request withResult:CBATTErrorSuccess];
}
}
@end
【问题讨论】:
标签: ios