Как вызвать индикацию и уведомление как периферийная iOS - PullRequest
0 голосов
/ 09 октября 2019

Какой вызов 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:@[]];
...