CBCentralManager
CBCentralManager
объекты используются для управления обнаруженный или подключили удаленные периферийные устройства (представленный CBPeripheral
объекты), включая сканирование для, обнаружение и соединение с рекламными периферийными устройствами.
Перед вызовом CBCentralManager
методы, состояние центрального объекта менеджера должно быть включено, как обозначено CBCentralManagerStatePoweredOn
постоянный. Это состояние указывает, что центральное устройство (Ваш iPhone или iPad, например) поддерживает низкую энергию Bluetooth и что Bluetooth идет и доступный использованию.
Оператор импорта
Swift
import CoreBluetooth
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует центрального менеджера с указанным делегатом и очередью отгрузки.
Объявление
Swift
init!(delegate
delegate
: CBCentralManagerDelegate!, queuequeue
: dispatch_queue_t!)Objective C
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)
delegate
queue:(dispatch_queue_t)queue
Параметры
delegate
Делегат для получения центральных событий.
queue
Очередь отгрузки для использования для диспетчеризации центральных ролевых событий. Если значение
nil
, центральный менеджер диспетчеризирует центральные ролевые события с помощью основной очереди.Возвращаемое значение
Возвращает недавно инициализированного центрального менеджера.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует центрального менеджера с указанным делегатом, очередью отгрузки и опциями инициализации.
Объявление
Swift
init!(delegate
delegate
: CBCentralManagerDelegate!, queuequeue
: dispatch_queue_t!, optionsoptions
: [NSObject : AnyObject]!)Objective C
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)
delegate
queue:(dispatch_queue_t)queue
options:(NSDictionary *)options
Параметры
delegate
Делегат для получения центральных событий.
queue
Очередь отгрузки для использования для диспетчеризации центральных ролевых событий. Если значение
nil
, центральный менеджер диспетчеризирует центральные ролевые события с помощью основной очереди.options
Дополнительный словарь, содержащий опции инициализации для центрального менеджера. Для доступных параметров посмотрите Центрального менеджера Инитиэлизэйшна Опшнса.
Возвращаемое значение
Возвращает недавно инициализированного центрального менеджера.
Обсуждение
Этот метод является определяемым инициализатором для
CBCentralManager
класс.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.9 и позже.
-
Устанавливает локальное соединение к периферийному устройству.
Объявление
Swift
func connectPeripheral(_
peripheral
: CBPeripheral!, optionsoptions
: [NSObject : AnyObject]!)Objective C
- (void)connectPeripheral:(CBPeripheral *)
peripheral
options:(NSDictionary *)options
Параметры
peripheral
Периферийное устройство, с которым центральное пытается соединиться.
options
Словарь для настройки поведения соединения. Для доступных параметров посмотрите Периферийные Опции Соединения.
Обсуждение
Если локальное соединение к периферийному устройству успешно установлено, центральные вызовы объектов менеджера
centralManager:didConnectPeripheral:
метод его объекта делегата. Если попытка подключения перестала работать, центральные вызовы объектов менеджераcentralManager:didFailToConnectPeripheral:error:
метод его делегата возражает вместо этого. Попытки соединиться с периферийным устройством убирают не время. Для явной отмены незаконченного соединения с периферийным устройством вызовитеcancelPeripheralConnection:
метод. Незаконченные попытки подключения также отменяются автоматически когдаperipheral
освобожден.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Отменяет активное или незаконченное локальное соединение к периферийному устройству.
Объявление
Swift
func cancelPeripheralConnection(_
peripheral
: CBPeripheral!)Objective C
- (void)cancelPeripheralConnection:(CBPeripheral *)
peripheral
Параметры
peripheral
Периферийное устройство, с которым центральный менеджер или пытается соединиться или уже соединился.
Обсуждение
Этот метод неблокирует, и любой
CBPeripheral
команды класса, все еще находящиеся на рассмотрении кperipheral
май или может не завершиться. Поскольку другие приложения могут все еще иметь соединение с периферийным устройством, отменение локального соединения не гарантирует, что сразу разъединяется базовая физическая ссылка. С точки зрения приложения, однако, периферийное устройство считают разъединенным, и центральные вызовы объектов менеджераcentralManager:didDisconnectPeripheral:error:
метод его объекта делегата.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Получает список периферийных устройств, в настоящее время подключаемых к системе.
Оператор осуждения
Используйте
retrieveConnectedPeripheralsWithServices:
метод вместо этого.Объявление
Objective C
- (void)retrieveConnectedPeripherals
Обсуждение
После получения списка подключенных периферийных устройств, центральные вызовы объектов менеджера
centralManager:didRetrieveConnectedPeripherals:
метод его объекта делегата. Если нет никаких периферийных устройств, в настоящее время подключаемых к системе, центральный объект менеджера передает пустой массив периферийных устройств кcentralManager:didRetrieveConnectedPeripherals:
метод. Обратите внимание на то, что список подключенных периферийных устройств может включать тех, которые соединяются другими приложениями, и это должно будет быть соединено локально с помощьюconnectPeripheral:options:
метод, прежде чем они смогут использоваться.Оператор импорта
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.9.
-
Возвращает список периферийных устройств (содержащий любую из указанных служб) в настоящее время подключаемый к системе.
Объявление
Swift
func retrieveConnectedPeripheralsWithServices(_
serviceUUIDs
: [AnyObject]!) -> [AnyObject]!Параметры
serviceUUIDs
Список службы UUIDs (представленный
CBUUID
объекты).Возвращаемое значение
Список периферийных устройств, в настоящее время подключающихся к системе и содержащих любую из служб, указанных в
serviceUUID
параметр.Обсуждение
Список подключенных периферийных устройств может включать тех, которые соединяются другими приложениями, и это должно будет быть соединено локально с помощью
connectPeripheral:options:
метод, прежде чем они смогут использоваться.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.9 и позже.
-
retrievePeripherals: - retrievePeripherals:
(OS X v10.9)Получает список известных периферийных устройств их UUIDs.
Оператор осуждения
Используйте
retrievePeripheralsWithIdentifiers:
метод вместо этого.Объявление
Objective C
- (void)retrievePeripherals:(NSArray *)
peripheralUUIDs
Параметры
peripheralUUIDs
Массив
CFUUIDRef
объекты те, от которыйCBPeripheral
объекты могут быть получены. ПосколькуCBUUID
объекты представляют специфичные для Bluetooth универсально уникальные идентификаторы (UUIDs) (используемый для Bluetooth атрибуты GATT, такие как службы и характеристики),CBPeripheral
объекты используют стандартCFUUIDRef
UUIDs как их уникальные идентификаторы.Обсуждение
Этот метод получает список периферийных устройств, которые центральный менеджер в состоянии соответствовать к предоставленному UUIDs. После получения списка известных периферийных устройств, центральные вызовы объектов менеджера
centralManager:didRetrievePeripherals:
метод его объекта делегата. Если никакие соответствия не сделаны, центральный объект менеджера передает пустой массив периферийных устройств кcentralManager:didRetrievePeripherals:
метод.Оператор импорта
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.9.
-
Возвращает список известных периферийных устройств их идентификаторами.
Объявление
Swift
func retrievePeripheralsWithIdentifiers(_
identifiers
: [AnyObject]!) -> [AnyObject]!Параметры
identifiers
Список периферийных идентификаторов (представленный
NSUUID
объекты те), от которыйCBPeripheral
объекты могут быть получены.Возвращаемое значение
Список периферийных устройств, которые центральный менеджер в состоянии соответствовать к предоставленным идентификаторам.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.9 и позже.
-
Сканирования для периферийных устройств, которые являются рекламными услугами.
Объявление
Swift
func scanForPeripheralsWithServices(_
serviceUUIDs
: [AnyObject]!, optionsoptions
: [NSObject : AnyObject]!)Objective C
- (void)scanForPeripheralsWithServices:(NSArray *)
serviceUUIDs
options:(NSDictionary *)options
Параметры
serviceUUIDs
options
Дополнительный словарь, указывающий опции настроить сканирование. Для доступных параметров посмотрите, что Периферийное устройство Сканирует Опции.
Обсуждение
Можно обеспечить массив
CBUUID
объекты — представление службы UUIDs — вserviceUUIDs
параметр. Когда Вы делаете, центральный менеджер возвращает только периферийные устройства, распространяющие службы, которые Вы указываете (рекомендуемый). ЕслиserviceUUIDs
параметрnil
, все обнаруженные периферийные устройства возвращаются независимо от их поддерживаемых служб (не рекомендуемый). Если центральный менеджер уже сканирует с различными параметрами, предоставленные параметры заменяют их. Когда центральный объект менеджера обнаруживает периферийное устройство, он вызываетcentralManager:didDiscoverPeripheral:advertisementData:RSSI:
метод его объекта делегата.Приложения, указавшие
bluetooth-central
фоновому режиму позволяют отсканировать в то время как в фоновом режиме. Однако они должны явно отсканировать для одной или более служб путем указания их вserviceUUIDs
параметр.CBCentralManagerOptionShowPowerAlertKey
опция сканирования проигнорирована при сканировании в фоновом режиме.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Просит центральный менеджер прекращать сканировать для периферийных устройств.
Объявление
Swift
func stopScan()
Objective C
- (void)stopScan
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает текущее состояние центрального менеджера. (только для чтения)
Объявление
Swift
var state: CBCentralManagerState { get }
Objective C
@property(readonly) CBCentralManagerState state
Обсуждение
Когда центральный объект менеджера первоначально создается, значение по умолчанию этого свойства
CBCentralManagerStateUnknown
. Как изменения состояния центрального менеджера, центральный менеджер обновляет значение этого свойства и вызываетcentralManagerDidUpdateState:
метод делегата. Для списка возможных значений, представляющих состояние центрального менеджера, посмотрите Центральное состояние менеджера.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Объект делегата Вы хотите получить центральные события.
Объявление
Swift
unowned(unsafe) var delegate: CBCentralManagerDelegate!
Objective C
@property(assign, nonatomic) id< CBCentralManagerDelegate > delegate
Обсуждение
Для получения информации о том, как реализовать Вашего центрального делегата менеджера, посмотрите Ссылку на протокол CBCentralManagerDelegate.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-
Ключи раньше передавали опции
initWithDelegate:queue:options:
метод.Объявление
Swift
let CBCentralManagerOptionShowPowerAlertKey: NSString!
Objective C
NSString *const CBCentralManagerOptionShowPowerAlertKey;
Константы
-
CBCentralManagerOptionShowPowerAlertKey
CBCentralManagerOptionShowPowerAlertKey
Булево значение, указывающее, должна ли система вывести на экран диалоговое окно предупреждения пользователю, если Bluetooth выключается, когда инстанцируют центральный менеджер.
Значение для этого ключа
NSNumber
объект. Если ключ не указан, значение по умолчаниюNO
false
.Доступный в OS X v10.9 и позже.
-
-
Ключи раньше передавали опции
scanForPeripheralsWithServices:options:
метод.Объявление
Swift
let CBCentralManagerScanOptionAllowDuplicatesKey: NSString! let CBCentralManagerScanOptionSolicitedServiceUUIDsKey: NSString!
Objective C
NSString *const CBCentralManagerScanOptionAllowDuplicatesKey; NSString *const CBCentralManagerScanOptionSolicitedServiceUUIDsKey;
Константы
-
CBCentralManagerScanOptionAllowDuplicatesKey
CBCentralManagerScanOptionAllowDuplicatesKey
Булево значение, указывающее, должно ли сканирование работать без двойной фильтрации.
Значение для этого ключа
NSNumber
объект. ЕслиYES
true
, фильтрация отключена, и событие открытия сгенерировано каждый раз, когда центральное получает рекламный пакет от периферийного устройства. Отключение этой фильтрации может иметь неблагоприятный эффект на время работы от батареи и должно использоваться только если необходимый. ЕслиNO
false
, многократные открытия того же периферийного устройства объединяются в единственное событие открытия. Если ключ не указан, значение по умолчаниюNO
false
.Доступный в OS X v10.7 и позже.
-
CBCentralManagerScanOptionSolicitedServiceUUIDsKey
CBCentralManagerScanOptionSolicitedServiceUUIDsKey
Массив (экземпляр
NSArray
) из службы UUIDs (представленныйCBUUID
объекты), что Вы хотите отсканировать для.Указание этой опции сканирования заставляет центрального менеджера также сканировать для периферийных устройств, требуя любой из служб, содержавшихся в массиве.
Доступный в OS X v10.9 и позже.
-
-
Ключи раньше передавали опции
connectPeripheral:options:
метод.Объявление
Swift
let CBConnectPeripheralOptionNotifyOnDisconnectionKey: NSString!
Objective C
NSString *const CBConnectPeripheralOptionNotifyOnDisconnectionKey;
Константы
-
CBConnectPeripheralOptionNotifyOnDisconnectionKey
CBConnectPeripheralOptionNotifyOnDisconnectionKey
Булево значение, указывающее, должна ли система вывести на экран предупреждение разъединения для данного периферийного устройства, если приложение приостановлено во время разъединения.
Значение для этого ключа
NSNumber
объект. Этот ключ полезен для приложений, не указавшихbluetooth-central
фоновый режим и не может вывести на экран их собственное предупреждение. Если больше чем одно приложение запросило уведомление на данное периферийное устройство, тот, который был последний раз на переднем плане, получает предупреждение. Если ключ не указан, значение по умолчаниюNO
false
.Доступный в OS X v10.7 и позже.
-
-
Значения, представляющие текущее состояние центрального объекта менеджера.
Объявление
Swift
enum CBCentralManagerState : Int { case Unknown case Resetting case Unsupported case Unauthorized case PoweredOff case PoweredOn }
Objective C
typedef enum { CBCentralManagerStateUnknown = 0, CBCentralManagerStateResetting, CBCentralManagerStateUnsupported, CBCentralManagerStateUnauthorized, CBCentralManagerStatePoweredOff, CBCentralManagerStatePoweredOn, } CBCentralManagerState;
Константы
-
Unknown
CBCentralManagerStateUnknown
Текущее состояние центрального менеджера неизвестно; обновление неизбежно.
Доступный в OS X v10.7 и позже.
-
Resetting
CBCentralManagerStateResetting
Соединение с системной службой было на мгновение потеряно; обновление неизбежно.
Доступный в OS X v10.7 и позже.
-
Unsupported
CBCentralManagerStateUnsupported
Платформа не поддерживает низкую энергию Bluetooth.
Доступный в OS X v10.7 и позже.
-
Unauthorized
CBCentralManagerStateUnauthorized
Приложение не разрешено использовать низкую энергию Bluetooth.
Доступный в OS X v10.7 и позже.
-
PoweredOff
CBCentralManagerStatePoweredOff
Bluetooth в настоящее время выключается.
Доступный в OS X v10.7 и позже.
-
PoweredOn
CBCentralManagerStatePoweredOn
Bluetooth в настоящее время включается и доступен использованию.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.7 и позже.
-