Какой вызов API я использую для вызова indication
или notification
, если я настроил устройство iOS как peripheral
?
Например, скажем, я настраиваю характеристики со свойствами индикации и уведомлений следующим образом:
// Indication
[[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:kIndicationUUID]
properties:CBCharacteristicPropertyWrite | CBCharacteristicPropertyIndicate
value:nil
permissions:CBAttributePermissionsReadable | CBAttributePermissionsWriteable];
// notification
[[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:kNotificationUUID]
properties:CBCharacteristicPropertyNotify
value:nil
permissions:CBAttributePermissionsReadable | CBAttributePermissionsWriteable];
Когда я обновляю значение признака, чем отличается реализация для отправки индикации от реализации уведомления? В настоящее время я реализую следующее - независимо от типа свойства.
characteristic.value = self.request.value;
[self.peripheralManager respondToRequest:self.request withResult:CBATTErrorSuccess];
BOOL didSendValue = [self.peripheralManager updateValue:self.request.value forCharacteristic:characteristic onSubscribedCentrals:@[]];