CBPeripheralManagerDelegate
Делегат a CBPeripheralManager объект должен принять CBPeripheralManagerDelegate протокол, протокол, состоящий из многочисленных дополнительных методов и одного требуемого метода. Дополнительные методы протокола используются делегатом, чтобы проверить публикацию и распространение, и контролировать чтение, записать, и запросы подписки от удаленных центральных устройств. Требуемый метод протокола, указывающий, доступен ли периферийный менеджер, вызывают, когда обновляется состояние периферийного менеджера.
Наследование
Не применимый
Оператор импорта
Swift
import CoreBluetooth
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда обновляется состояние периферийного менеджера. (требуемый)
Объявление
Swift
func peripheralManagerDidUpdateState(_peripheral: CBPeripheralManager!)Objective C
- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheralПараметры
peripheralПериферийный менеджер, состояние которого изменилось.
Обсуждение
Вы реализуете этот требуемый метод гарантировать, что низкая энергия Bluetooth поддерживается и доступна для использования на локальном периферийном устройстве. Дайте команды периферийному менеджеру только, когда состояние периферийного менеджера будет включено, как обозначено
CBPeripheralManagerStatePoweredOnпостоянный. Состояние со значением ниже, чемCBPeripheralManagerStatePoweredOnподразумевает, что распространение остановилось и что любой соединился, centrals были разъединены. Если состояние перемещается нижеCBPeripheralManagerStatePoweredOff, распространение остановилось и должно быть явно перезапущено. Кроме того, локальная база данных очищена, и все службы должны быть явно добавлены снова. Для полного списка и обсуждения возможных значений, представляющих состояние периферийного менеджера, посмотритеCBPeripheralManagerStateперечисление в Ссылке класса CBPeripheralManager.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда периферийный менеджер собирается быть восстановленным системой.
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, willRestoreStatedict: [NSObject : AnyObject]!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheralwillRestoreState:(NSDictionary *)dictПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
dictБыл завершен словарь, содержащий информацию о периферийном менеджере, сохраненном системой в это время приложение. Для доступных ключей к этому словарю посмотрите Периферийные Опции Восстановления состояния менеджера.
Обсуждение
Для приложений, выбирающих в к функции сохранения и восстановления состояния Ядра Bluetooth, это - первый метод, вызванный, когда Ваше приложение повторно запускается в фон для выполнения некоторой связанной с Bluetooth задачи. Используйте этот метод для синхронизации состояния приложения с состоянием системы Bluetooth.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда Вы публикуете службу и любую из ее связанных характеристик и характерных дескрипторов, к локальной базе данных Generic Attribute Profile (GATT).
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, didAddServiceservice: CBService!, errorerror: NSError!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheraldidAddService:(CBService *)serviceerror:(NSError *)errorПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
serviceСлужба, добавленная к локальной базе данных GATT.
errorЕсли ошибка произошла, причина отказа.
Обсуждение
Когда Ваше приложение вызывает, этот метод вызывается
addService:метод для публикации службы к базе данных GATT локального периферийного устройства. Если служба успешно публикуется к локальной базе данных,errorпараметрnil. Если неуспешный,errorпараметр возвращает причину отказа.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда Вы начинаете распространять данные локального периферийного устройства.
Объявление
Swift
optional func peripheralManagerDidStartAdvertising(_peripheral: CBPeripheralManager!, errorerror: NSError!)Objective C
- (void)peripheralManagerDidStartAdvertising:(CBPeripheralManager *)peripheralerror:(NSError *)errorПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
errorЕсли ошибка произошла, причина отказа.
Обсуждение
Когда Ваше приложение вызывает, этот метод вызывается
startAdvertising:метод, чтобы начать распространять данные локального периферийного устройства. Если успешный,errorпараметрnil. Если существует проблема, распространяя данные,errorпараметр возвращает причину отказа.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
peripheralManager (_: central:didSubscribeToCharacteristic:) - peripheralManager:central:didSubscribeToCharacteristic:Вызванный, когда удаленное центральное устройство подписывается на значение характеристики.
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, centralcentral: CBCentral!, didSubscribeToCharacteristiccharacteristic: CBCharacteristic!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheralcentral:(CBCentral *)centraldidSubscribeToCharacteristic:(CBCharacteristic *)characteristicПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
centralУдаленное центральное устройство, подписавшееся на значение характеристики.
characteristicХарактеристика, значение которой было подписано на.
Обсуждение
Когда удаленное центральное устройство подписывается на значение одной из характеристик локального периферийного устройства путем включения уведомлений или признаков относительно значения характеристики, этот метод вызывается. Необходимо использовать вызов этого метода как сигнал, чтобы начать отправлять подписанные центральные обновления, когда изменяется значение характеристики. Для отправки обновленных характеристических значений в подписанный centrals используйте
updateValue:forCharacteristic:onSubscribedCentrals:методCBPeripheralManagerкласс.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
peripheralManager (_: central:didUnsubscribeFromCharacteristic:) - peripheralManager:central:didUnsubscribeFromCharacteristic:Вызванный, когда удаленное центральное устройство отписывается от значения характеристики.
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, centralcentral: CBCentral!, didUnsubscribeFromCharacteristiccharacteristic: CBCharacteristic!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheralcentral:(CBCentral *)centraldidUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristicПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
centralУдаленное центральное устройство, подписавшееся на значение характеристики.
characteristicХарактеристика, значение которой было отписано от.
Обсуждение
Когда удаленное центральное устройство отписывается от значения одной из характеристик локального периферийного устройства путем отключения уведомлений или признаков относительно значения характеристики, этот метод вызывается. Необходимо использовать вызов этого метода как сигнал, чтобы прекратить отправлять подписанные центральные обновления, когда изменяется значение характеристики.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
peripheralManagerIsReadyToUpdateSubscribers (_:) - peripheralManagerIsReadyToUpdateSubscribers:ТребуемыйВызванный, когда локальное периферийное устройство снова готово отправить обновления характеристического значения. (требуемый)
Объявление
Swift
optional func peripheralManagerIsReadyToUpdateSubscribers(_peripheral: CBPeripheralManager!)Objective C
- (void)peripheralManagerIsReadyToUpdateSubscribers:(CBPeripheralManager *)peripheralПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
Обсуждение
Когда вызов к
updateValue:forCharacteristic:onSubscribedCentrals:метод перестал работать, потому что базовая очередь, используемая для передачи обновленного характеристического значения, полна,peripheralManagerIsReadyToUpdateSubscribers:когда больше пространства в очереди передачи становится доступным, метод вызывается. Можно тогда реализовать этот метод делегата снова послать значение.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда локальное периферийное устройство получает Протокол Атрибута (ATT) запрос чтения на характеристику, имеющую динамическое значение.
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, didReceiveReadRequestrequest: CBATTRequest!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheraldidReceiveReadRequest:(CBATTRequest *)requestПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
requestA
CBATTRequestобъект, представляющий запрос для чтения значения характеристики.Обсуждение
Каждый раз, когда этот метод вызывается, Вы вызываете
respondToRequest:withResult:методCBPeripheralManagerклассифицируйте точно один раз для ответа на запрос чтения.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Вызванный, когда локальное периферийное устройство получает Протокол Атрибута (ATT) запрос записи на характеристику, имеющую динамическое значение.
Объявление
Swift
optional func peripheralManager(_peripheral: CBPeripheralManager!, didReceiveWriteRequestsrequests: [AnyObject]!)Objective C
- (void)peripheralManager:(CBPeripheralManager *)peripheraldidReceiveWriteRequests:(NSArray *)requestsПараметры
peripheralПериферийный менеджер, предоставляющий эту информацию.
requestsСписок один или больше
CBATTRequestобъекты, каждый представляющий запрос для записи значение характеристики.Обсуждение
Таким же образом то, что Вы реагируете на запрос чтения, каждый раз, когда этот метод вызывается, Вы вызываете
respondToRequest:withResult:методCBPeripheralManagerклассифицируйте точно один раз. Еслиrequestsпараметр содержит многократные запросы, обработайте их, поскольку Вы были бы единственный запрос — если какой-либо отдельный запрос не может быть обработан, Вы не должны выполнять ни одного из них. Вместо этого вызовитеrespondToRequest:withResult:метод сразу, и обеспечивает результат, указывающий причину отказа.При ответе на запрос записи отметьте что первый параметр
respondToRequest:withResult:метод ожидает синглCBATTRequestобъект, даже при том, что Вы получили массив их отperipheralManager:didReceiveWriteRequests:метод. Для ответа должным образом передайте в первом запросеrequestsмассив.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
