這是我的第一個問題,不要爲此付出太多的代價。 我想得到一些建議如何從一個iOS設備發送幾個字節到另一個與CBCharacteristicWriteWithoutResponse。iOS。 BLE。 CBCharacteristicWriteWithoutResponse - 如何使它工作?
我嘗試使用writeValue:forCharacteristic:type:從一個iOS設備(中心角色) 發送數據,並在另一個iOS設備(外圍設備角色)上使用peripheralManager:didReceiveWriteRequests接收數據。
我沒有類型的問題:CBCharacteristicWriteWitResponse,但如果我用類型替換它:CBCharacteristicWriteWithoutResponse外設停止接收它。怎麼了?我錯過了什麼或者WriteWithoutResponse不被CBCentralManagerDelegate支持?
這裏是一些代碼:
@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