Это мой первый вопрос здесь, не обвиняйте меня слишком сильно. Хотелось бы посоветовать, как отправлять несколько байтов с одного устройства iOS на другое с помощью CBCharacteristicWriteWithoutResponse.iOS. BLE. CBCharacteristicWriteWithoutResponse - Как заставить его работать?
Я попытался посланных данных с WriteValue: forCharacteristic: Тип: от одного устройства IOS (Центральная роль) и получить его с peripheralManager: didReceiveWriteRequests: на другом устройстве IOS (Peripheral роль).
У меня нет проблем с типом: 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