CBCentralManager
CBCentralManager объекты используются для управления обнаруженный или подключили удаленные периферийные устройства (представленный CBPeripheral объекты), включая сканирование для, обнаружение и соединение с рекламными периферийными устройствами.
Перед вызовом CBCentralManager методы, состояние центрального объекта менеджера должно быть включено, как обозначено CBCentralManagerStatePoweredOn постоянный. Это состояние указывает, что центральное устройство (Ваш iPhone или iPad, например) поддерживает низкую энергию Bluetooth и что Bluetooth идет и доступный использованию.
Оператор импорта
Swift
import CoreBluetooth
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует центрального менеджера с указанным делегатом и очередью отгрузки.
Объявление
Swift
init!(delegatedelegate: CBCentralManagerDelegate!, queuequeue: dispatch_queue_t!)Objective C
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)delegatequeue:(dispatch_queue_t)queueПараметры
delegateДелегат для получения центральных событий.
queueОчередь отгрузки для использования для диспетчеризации центральных ролевых событий. Если значение
nil, центральный менеджер диспетчеризирует центральные ролевые события с помощью основной очереди.Возвращаемое значение
Возвращает недавно инициализированного центрального менеджера.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.7 и позже.
-
Инициализирует центрального менеджера с указанным делегатом, очередью отгрузки и опциями инициализации.
Объявление
Swift
init!(delegatedelegate: CBCentralManagerDelegate!, queuequeue: dispatch_queue_t!, optionsoptions: [NSObject : AnyObject]!)Objective C
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)delegatequeue:(dispatch_queue_t)queueoptions:(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 *)peripheraloptions:(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объекты используют стандартCFUUIDRefUUIDs как их уникальные идентификаторы.Обсуждение
Этот метод получает список периферийных устройств, которые центральный менеджер в состоянии соответствовать к предоставленному 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 *)serviceUUIDsoptions:(NSDictionary *)optionsПараметры
serviceUUIDsoptionsДополнительный словарь, указывающий опции настроить сканирование. Для доступных параметров посмотрите, что Периферийное устройство Сканирует Опции.
Обсуждение
Можно обеспечить массив
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;Константы
-
CBCentralManagerOptionShowPowerAlertKeyCBCentralManagerOptionShowPowerAlertKeyБулево значение, указывающее, должна ли система вывести на экран диалоговое окно предупреждения пользователю, если Bluetooth выключается, когда инстанцируют центральный менеджер.
Значение для этого ключа
NSNumberобъект. Если ключ не указан, значение по умолчаниюNOfalse.Доступный в OS X v10.9 и позже.
-
-
Ключи раньше передавали опции
scanForPeripheralsWithServices:options:метод.Объявление
Swift
let CBCentralManagerScanOptionAllowDuplicatesKey: NSString! let CBCentralManagerScanOptionSolicitedServiceUUIDsKey: NSString!Objective C
NSString *const CBCentralManagerScanOptionAllowDuplicatesKey; NSString *const CBCentralManagerScanOptionSolicitedServiceUUIDsKey;Константы
-
CBCentralManagerScanOptionAllowDuplicatesKeyCBCentralManagerScanOptionAllowDuplicatesKeyБулево значение, указывающее, должно ли сканирование работать без двойной фильтрации.
Значение для этого ключа
NSNumberобъект. ЕслиYEStrue, фильтрация отключена, и событие открытия сгенерировано каждый раз, когда центральное получает рекламный пакет от периферийного устройства. Отключение этой фильтрации может иметь неблагоприятный эффект на время работы от батареи и должно использоваться только если необходимый. ЕслиNOfalse, многократные открытия того же периферийного устройства объединяются в единственное событие открытия. Если ключ не указан, значение по умолчаниюNOfalse.Доступный в OS X v10.7 и позже.
-
CBCentralManagerScanOptionSolicitedServiceUUIDsKeyCBCentralManagerScanOptionSolicitedServiceUUIDsKeyМассив (экземпляр
NSArray) из службы UUIDs (представленныйCBUUIDобъекты), что Вы хотите отсканировать для.Указание этой опции сканирования заставляет центрального менеджера также сканировать для периферийных устройств, требуя любой из служб, содержавшихся в массиве.
Доступный в OS X v10.9 и позже.
-
-
Ключи раньше передавали опции
connectPeripheral:options:метод.Объявление
Swift
let CBConnectPeripheralOptionNotifyOnDisconnectionKey: NSString!Objective C
NSString *const CBConnectPeripheralOptionNotifyOnDisconnectionKey;Константы
-
CBConnectPeripheralOptionNotifyOnDisconnectionKeyCBConnectPeripheralOptionNotifyOnDisconnectionKeyБулево значение, указывающее, должна ли система вывести на экран предупреждение разъединения для данного периферийного устройства, если приложение приостановлено во время разъединения.
Значение для этого ключа
NSNumberобъект. Этот ключ полезен для приложений, не указавшихbluetooth-centralфоновый режим и не может вывести на экран их собственное предупреждение. Если больше чем одно приложение запросило уведомление на данное периферийное устройство, тот, который был последний раз на переднем плане, получает предупреждение. Если ключ не указан, значение по умолчаниюNOfalse.Доступный в 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;Константы
-
UnknownCBCentralManagerStateUnknownТекущее состояние центрального менеджера неизвестно; обновление неизбежно.
Доступный в OS X v10.7 и позже.
-
ResettingCBCentralManagerStateResettingСоединение с системной службой было на мгновение потеряно; обновление неизбежно.
Доступный в OS X v10.7 и позже.
-
UnsupportedCBCentralManagerStateUnsupportedПлатформа не поддерживает низкую энергию Bluetooth.
Доступный в OS X v10.7 и позже.
-
UnauthorizedCBCentralManagerStateUnauthorizedПриложение не разрешено использовать низкую энергию Bluetooth.
Доступный в OS X v10.7 и позже.
-
PoweredOffCBCentralManagerStatePoweredOffBluetooth в настоящее время выключается.
Доступный в OS X v10.7 и позже.
-
PoweredOnCBCentralManagerStatePoweredOnBluetooth в настоящее время включается и доступен использованию.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.7 и позже.
-
