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 *)
peripheral
willRestoreState:(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 *)
peripheral
didAddService:(CBService *)service
error:(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 *)
peripheral
error:(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 *)
peripheral
central:(CBCentral *)central
didSubscribeToCharacteristic:(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 *)
peripheral
central:(CBCentral *)central
didUnsubscribeFromCharacteristic:(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 *)
peripheral
didReceiveReadRequest:(CBATTRequest *)request
Параметры
peripheral
Периферийный менеджер, предоставляющий эту информацию.
request
A
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 *)
peripheral
didReceiveWriteRequests:(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 и позже.