CBCentralManagerDelegate
CBCentralManagerDelegate
протокол определяет методы что делегат a CBCentralManager
объект должен принять. Дополнительные методы протокола позволяют делегату контролировать открытие, связь и извлечение периферийных устройств. Когда состояние центрального менеджера обновляется, единственный требуемый метод протокола указывает доступность центрального менеджера и вызывается.
Наследование
Не применимый
Оператор импорта
Swift
import CoreBluetooth
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда соединение успешно создается с периферийным устройством.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didConnectPeripheralperipheral
: CBPeripheral!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didConnectPeripheral:(CBPeripheral *)peripheral
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
peripheral
Периферийное устройство, подключенное к системе.
Обсуждение
Этот метод вызывается когда вызов к
connectPeripheral:options:
успешно. Вы обычно реализуете этот метод, чтобы установить делегата периферийного устройства и обнаружить его службы.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда разъединяется существующее соединение с периферийным устройством.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didDisconnectPeripheralperipheral
: CBPeripheral!, errorerror
: NSError!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didDisconnectPeripheral:(CBPeripheral *)peripheral
error:(NSError *)error
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
peripheral
Разъединенное периферийное устройство.
error
Если ошибка произошла, причина отказа.
Обсуждение
Когда периферийное устройство соединилось через, этот метод вызывается
connectPeripheral:options:
метод разъединяется. Если разъединение не инициировалосьcancelPeripheralConnection:
, причина детализирована вerror
. После того, как этот метод вызывают, больше методов не вызывается на периферийное устройствоCBPeripheralDelegate
объект.Обратите внимание на то, что, когда периферийное устройство разъединяется, все его службы, характеристики, и характерные дескрипторы лишены законной силы.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
centralManager (_: didFailToConnectPeripheral:error:) - centralManager:didFailToConnectPeripheral:error:
Вызванный, когда центральному менеджеру не удается создать соединение с периферийным устройством.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didFailToConnectPeripheralperipheral
: CBPeripheral!, errorerror
: NSError!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didFailToConnectPeripheral:(CBPeripheral *)peripheral
error:(NSError *)error
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
peripheral
Периферийное устройство, которому не удалось соединиться.
error
Причина отказа.
Обсуждение
Когда соединение инициировало через, этот метод вызывается
connectPeripheral:options:
методу не удается завершиться. Поскольку попытки подключения убирают не время, неработающее соединение обычно указывает переходную проблему, когда можно попытаться соединиться с периферийным устройством снова.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
centralManager (_: didDiscoverPeripheral:advertisementData:RSSI:) - centralManager:didDiscoverPeripheral:advertisementData:RSSI:
Вызванный, когда центральный менеджер обнаруживает периферийное устройство при сканировании.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didDiscoverPeripheralperipheral
: CBPeripheral!, advertisementDataadvertisementData
: [NSObject : AnyObject]!, RSSIRSSI
: NSNumber!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didDiscoverPeripheral:(CBPeripheral *)peripheral
advertisementData:(NSDictionary *)advertisementData
RSSI:(NSNumber *)RSSI
Параметры
central
Центральный менеджер, обеспечивающий обновление.
peripheral
Обнаруженное периферийное устройство.
advertisementData
Словарь, содержащий любые данные рекламы.
RSSI
Текущий полученный индикатор мощности сигнала (RSSI) периферийного устройства, в децибелах.
Обсуждение
К данным рекламы можно получить доступ через ключи, перечисленные в Ключах Поиска данных Рекламы. Необходимо сохранить локальную копию периферийного устройства, если какая-либо команда должна быть выполнена на нем. В вариантах использования, где это целесообразно для Вашего приложения автоматически соединяться с периферийным устройством, расположенным в определенном диапазоне, можно использовать данные RSSI для определения близости обнаруженного периферийного устройства.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
centralManager (_: didRetrieveConnectedPeripherals:) - centralManager:didRetrieveConnectedPeripherals:
Вызванный, когда центральный менеджер получает список периферийных устройств, в настоящее время подключаемых к системе.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didRetrieveConnectedPeripheralsperipherals
: [AnyObject]!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didRetrieveConnectedPeripherals:(NSArray *)peripherals
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
peripherals
Массив всех периферийных устройств в настоящее время соединялся с системой.
Обсуждение
Этот метод возвращает результат a
retrieveConnectedPeripherals
вызвать. Так как массив в настоящее время подключенных периферийных устройств может включать подключенных к системе другими приложениями, Вы обычно реализуете этот метод, чтобы повторно подключить периферийные устройства, которыми интересуется Ваше приложение.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда центральный менеджер получает список известных периферийных устройств.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, didRetrievePeripheralsperipherals
: [AnyObject]!)Objective C
- (void)centralManager:(CBCentralManager *)
central
didRetrievePeripherals:(NSArray *)peripherals
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
peripherals
Массив периферийных устройств, в настоящее время известных центральному менеджеру.
Обсуждение
Этот метод возвращает результат вызова к
retrievePeripherals:
с массивом периферийных устройств, которые центральный менеджер смог соответствовать к предоставленным универсально уникальным идентификаторам (UUIDs). Вы обычно реализуете этот метод, чтобы повторно соединиться с известным периферийным устройством.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда обновляется состояние центрального менеджера. (требуемый)
Объявление
Swift
func centralManagerDidUpdateState(_
central
: CBCentralManager!)Objective C
- (void)centralManagerDidUpdateState:(CBCentralManager *)
central
Параметры
central
Центральный менеджер, состояние которого изменилось.
Обсуждение
Вы реализуете этот требуемый метод гарантировать, что низкая энергия Bluetooth поддерживается и доступна для использования на центральном устройстве. Необходимо дать команды центральному менеджеру только, когда состояние центрального менеджера включается, как обозначено
CBCentralManagerStatePoweredOn
постоянный. Состояние со значением ниже, чемCBCentralManagerStatePoweredOn
подразумевает, что сканирование остановилось и что были разъединены любые подключенные периферийные устройства. Если состояние перемещается нижеCBCentralManagerStatePoweredOff
, всеCBPeripheral
объекты, полученные от этого центрального менеджера, становятся недопустимыми и должны быть получены или обнаружены снова. Для полного списка и обсуждения возможных значений, представляющих состояние центрального менеджера, посмотритеCBCentralManagerState
перечисление в Ссылке класса CBCentralManager.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда центральный менеджер собирается быть восстановленным системой.
Объявление
Swift
optional func centralManager(_
central
: CBCentralManager!, willRestoreStatedict
: [NSObject : AnyObject]!)Objective C
- (void)centralManager:(CBCentralManager *)
central
willRestoreState:(NSDictionary *)dict
Параметры
central
Центральный менеджер, предоставляющий эту информацию.
dict
Был завершен словарь, содержащий информацию о центральном менеджере, сохраненном системой в это время приложение. Для доступных ключей к этому словарю посмотрите Центральные Опции Восстановления состояния менеджера.
Обсуждение
Для приложений, выбирающих в к функции сохранения и восстановления состояния Ядра Bluetooth, это - первый метод, вызванный, когда Ваше приложение повторно запускается в фон для выполнения некоторой связанной с Bluetooth задачи. Используйте этот метод для синхронизации состояния приложения с состоянием системы Bluetooth.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.9 и позже.
-
Ключи для указания в
advertisementData
словарь.Объявление
Swift
let CBAdvertisementDataLocalNameKey: NSString! let CBAdvertisementDataManufacturerDataKey: NSString! let CBAdvertisementDataServiceDataKey: NSString! let CBAdvertisementDataServiceUUIDsKey: NSString! let CBAdvertisementDataOverflowServiceUUIDsKey: NSString! let CBAdvertisementDataTxPowerLevelKey: NSString! let CBAdvertisementDataIsConnectable: NSString! let CBAdvertisementDataSolicitedServiceUUIDsKey: NSString!
Objective C
NSString *const CBAdvertisementDataLocalNameKey; NSString *const CBAdvertisementDataManufacturerDataKey; NSString *const CBAdvertisementDataServiceDataKey; NSString *const CBAdvertisementDataServiceUUIDsKey; NSString *const CBAdvertisementDataOverflowServiceUUIDsKey; NSString *const CBAdvertisementDataTxPowerLevelKey; NSString *const CBAdvertisementDataIsConnectable; NSString *const CBAdvertisementDataSolicitedServiceUUIDsKey;
Константы
-
CBAdvertisementDataLocalNameKey
CBAdvertisementDataLocalNameKey
Строка (экземпляр
NSString
) содержа локальное имя периферийного устройства.Доступный в OS X v10.7 и позже.
-
CBAdvertisementDataManufacturerDataKey
CBAdvertisementDataManufacturerDataKey
A
NSData
объект, содержащий данные производителя периферийного устройства.Доступный в OS X v10.7 и позже.
-
CBAdvertisementDataServiceDataKey
CBAdvertisementDataServiceDataKey
Словарь, содержащий специфичные для службы данные рекламы.
Ключи
CBUUID
объекты, представляяCBService
UUIDs. ЗначенияNSData
объекты, представляя специфичные для службы данные.Доступный в OS X v10.7 и позже.
-
CBAdvertisementDataServiceUUIDsKey
CBAdvertisementDataServiceUUIDsKey
Массив службы UUIDs.
Доступный в OS X v10.7 и позже.
-
CBAdvertisementDataOverflowServiceUUIDsKey
CBAdvertisementDataOverflowServiceUUIDsKey
Массив один или больше
CBUUID
объекты, представляяCBService
UUIDs, найденные в области «переполнения» данных рекламы.Вследствие природы данных, хранивших в этой области, UUIDs, перечисленные здесь, являются «максимальными усилиями» и могут не всегда быть точными. Для получения дополнительной информации об области переполнения данных рекламы, посмотрите
startAdvertising:
метод в Ссылке класса CBPeripheralManager.Доступный в OS X v10.9 и позже.
-
CBAdvertisementDataTxPowerLevelKey
CBAdvertisementDataTxPowerLevelKey
Число (экземпляр
NSNumber
) содержа мощность передачи периферийного устройства.Если вещательная компания (периферийное устройство) обеспечивает свой уровень мощности Tx в его рекламном пакете, этот ключ и значение доступны. Используя значение RSSI и уровень мощности Tx, возможно вычислить потерю тракта.
Доступный в OS X v10.7 и позже.
-
CBAdvertisementDataIsConnectable
CBAdvertisementDataIsConnectable
Булево значение, указывающее, является ли рекламный тип события соединяемым.
Значение для этого ключа
NSNumber
объект. Можно использовать это значение, чтобы определить, является ли периферийное устройство соединяемым в определенный момент.Доступный в OS X v10.9 и позже.
-
CBAdvertisementDataSolicitedServiceUUIDsKey
CBAdvertisementDataSolicitedServiceUUIDsKey
Доступный в OS X v10.9 и позже.
-