Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса CBPeripheralManager

Опции
Развертывание Target:

На этой странице
Язык:

CBPeripheralManager

CBPeripheralManager объекты используются, чтобы управлять опубликованными службами в базе данных Generic Attribute Profile (GATT) локального периферийного устройства и распространить эти службы к центральным устройствам (представленный CBCentral объекты). В то время как служба находится в базе данных, это видимо к и может быть получено доступ, любой соединился центральный. Однако если Ваше приложение не указало bluetooth-peripheral фоновый режим, содержание его служб становится отключенным, когда это в фоновом режиме или в состоянии ожидания; любая удаленная центральная попытка получить доступ к характеристическому значению службы или характерным дескрипторам получает ошибку.

Перед вызовом CBPeripheralManager методы, состояние периферийного объекта менеджера должно быть включено, как обозначено CBPeripheralManagerStatePoweredOn. Это состояние указывает, что периферийное устройство (Ваш iPhone или iPad, например) поддерживает низкую энергию Bluetooth и что ее Bluetooth идет и доступный использованию.

Наследование


Соответствует


Оператор импорта


Swift

import CoreBluetooth

Objective C

@import CoreBluetooth;

Доступность


Доступный в OS X v10.9 и позже.
  • Инициализирует периферийного менеджера с указанным делегатом и очередью отгрузки.

    Объявление

    Swift

    init!(delegate delegate: CBPeripheralManagerDelegate!, queue queue: dispatch_queue_t!)

    Objective C

    - (id)initWithDelegate:(id<CBPeripheralManagerDelegate>)delegate queue:(dispatch_queue_t)queue

    Параметры

    delegate

    Делегат для получения периферийных ролевых событий.

    queue

    Очередь отгрузки для диспетчеризации периферийных ролевых событий. Если значение nil, периферийный менеджер диспетчеризирует периферийные ролевые события с помощью основной очереди.

    Возвращаемое значение

    Возвращает недавно инициализированного периферийного менеджера.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Инициализирует периферийного менеджера с указанным делегатом, очередью отгрузки и опциями инициализации.

    Объявление

    Swift

    init!(delegate delegate: CBPeripheralManagerDelegate!, queue queue: dispatch_queue_t!, options options: [NSObject : AnyObject]!)

    Objective C

    - (id)initWithDelegate:(id<CBPeripheralManagerDelegate>)delegate queue:(dispatch_queue_t)queue options:(NSDictionary *)options

    Параметры

    delegate

    Делегат для получения периферийных ролевых событий.

    queue

    Очередь отгрузки для диспетчеризации периферийных ролевых событий. Если значение nil, периферийный менеджер диспетчеризирует периферийные ролевые события с помощью основной очереди.

    options

    Дополнительный словарь, содержащий опции инициализации для периферийного менеджера. Для доступных параметров посмотрите Периферийного менеджера Инитиэлизэйшна Опшнса.

    Возвращаемое значение

    Возвращает недавно инициализированного периферийного менеджера.

    Обсуждение

    Этот метод является определяемым инициализатором для CBPeripheralManager класс.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • делегат делегат Свойство

    Объект делегата, указанный для получения периферийных событий.

    Объявление

    Swift

    unowned(unsafe) var delegate: CBPeripheralManagerDelegate!

    Objective C

    @property(assign, nonatomic) id< CBPeripheralManagerDelegate > delegate

    Обсуждение

    Для получения информации о том, как реализовать Вашего периферийного делегата менеджера, посмотрите Ссылку на протокол CBPeripheralManagerDelegate.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Текущее состояние периферийного менеджера. (только для чтения)

    Объявление

    Swift

    var state: CBPeripheralManagerState { get }

    Objective C

    @property(readonly) CBPeripheralManagerState state

    Обсуждение

    Когда периферийный объект менеджера первоначально создается, значение по умолчанию этого свойства CBPeripheralManagerStateUnknown. Как изменения состояния периферийного менеджера, периферийный менеджер обновляет значение этого свойства и вызывает peripheralManagerDidUpdateState: метод его объекта делегата. Для списка возможных значений, представляющих состояние периферийного менеджера, посмотрите Периферийное состояние менеджера.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Публикует службу и любую из ее связанных характеристик и характерных дескрипторов к локальной базе данных GATT.

    Объявление

    Swift

    func addService(_ service: CBMutableService!)

    Objective C

    - (void)addService:(CBMutableService *)service

    Параметры

    service

    Служба Вы хотите опубликовать.

    Обсуждение

    Когда Вы добавляете службу к базе данных, периферийные вызовы диспетчера peripheralManager:didAddService:error: метод его объекта делегата. Если служба содержит какие-либо включенные службы, необходимо опубликовать их сначала.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Удаляет указанную опубликованную службу из локальной базы данных GATT.

    Объявление

    Swift

    func removeService(_ service: CBMutableService!)

    Objective C

    - (void)removeService:(CBMutableService *)service

    Параметры

    service

    Служба Вы хотите удалить.

    Обсуждение

    Поскольку база данных GATT совместно используется среди приложений на локальном периферийном устройстве, больше чем один экземпляр службы может существовать в базе данных. В результате этот метод удаляет только экземпляр службы, которую Ваше приложение добавило к базе данных (использующий addService: метод). Если служба включена какими-либо другими службами, необходимо удалить их сначала.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Удаляет все опубликованные службы из локальной базы данных GATT.

    Объявление

    Swift

    func removeAllServices()

    Objective C

    - (void)removeAllServices

    Обсуждение

    Поскольку база данных GATT совместно используется среди приложений на локальном периферийном устройстве, этот метод удаляет только службы, что Вы добавили использование addService: метод. Любые службы, опубликованные другими приложениями на локальном периферийном устройстве, не удалены из базы данных GATT.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Распространяет периферийные данные менеджера.

    Объявление

    Swift

    func startAdvertising(_ advertisementData: [NSObject : AnyObject]!)

    Objective C

    - (void)startAdvertising:(NSDictionary *)advertisementData

    Параметры

    advertisementData

    Дополнительный словарь, содержащий данные, Вы хотите распространиться. Возможные ключи advertisementData словарь подробно изложен в Ссылке на протокол CBCentralManagerDelegate. Однако только два из ключей поддерживаются для периферийных объектов менеджера: CBAdvertisementDataLocalNameKey и CBAdvertisementDataServiceUUIDsKey.

    Обсуждение

    Когда Вы запускаете рекламные периферийные данные, периферийные вызовы диспетчера peripheralManagerDidStartAdvertising:error: метод его объекта делегата.

    Распространение данных сделано на основе «максимальных усилий», потому что пространство ограничивается и могут быть многократные приложения, распространяющиеся одновременно. В то время как Ваше приложение находится на переднем плане, оно может использовать до 28 байтов пространства в начальных данных рекламы для любой комбинации поддерживаемых рекламных ключей данных. Если это пространство израсходовано, существуют дополнительные 10 байтов пространства в ответе сканирования, который может использоваться только для локального имени (представленный значением CBAdvertisementDataLocalNameKey ключ). Обратите внимание на то, что эти размеры не включают 2 байта информации заголовка, требующиеся для каждого нового типа данных. Любая служба универсально уникальные идентификаторы (UUIDs), содержавшийся в значении CBAdvertisementDataServiceUUIDsKey ключ, которые не помещаются в выделенное пространство, добавляется к специальной области «переполнения»; они могут быть обнаружены только устройством на iOS, явно сканирующим для них. В то время как Ваше приложение в фоновом режиме, локальное имя не распространено, и вся служба UUIDs помещаются в область переполнения. Точный формат данных распространения и ответа определяется в спецификации Bluetooth 4.0, Объем 3, Часть C, Раздел 11.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Остановки рекламные периферийные данные менеджера.

    Объявление

    Swift

    func stopAdvertising()

    Objective C

    - (void)stopAdvertising

    Обсуждение

    Вызовите этот метод, когда Вы больше не захотите распространить периферийные данные менеджера.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • isAdvertising isAdvertising Свойство

    Булево значение, указывающее, распространяет ли периферийное устройство в настоящее время данные. (только для чтения)

    Объявление

    Swift

    var isAdvertising: Bool { get }

    Objective C

    @property(readonly) BOOL isAdvertising

    Обсуждение

    YEStrue если периферийное устройство в настоящее время распространяет данные в результате Вас успешно вызов startAdvertising: метод. NOfalse если периферийное устройство в настоящее время не распространяет данные.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Отправляет обновленное характеристическое значение в один или несколько подписанный centrals, через уведомление или индикацию.

    Объявление

    Swift

    func updateValue(_ value: NSData!, forCharacteristic characteristic: CBMutableCharacteristic!, onSubscribedCentrals centrals: [AnyObject]!) -> Bool

    Objective C

    - (BOOL)updateValue:(NSData *)value forCharacteristic:(CBMutableCharacteristic *)characteristic onSubscribedCentrals:(NSArray *)centrals

    Параметры

    value

    Характеристическое значение Вы хотите отправить через уведомление или индикацию.

    characteristic

    Характеристика, значение которой изменилось.

    centrals

    Список centrals (представленный CBCentral объекты), которые подписались для получения обновлений значения характеристики. Если nil, все подписались, centrals обновляются. Проигнорированы Centrals, не подписавшиеся на значение характеристики.

    Возвращаемое значение

    YEStrue если обновление успешно отправляется в подписанное центральное или centrals. NOfalse если обновление успешно не отправляется, потому что базовая очередь передачи полна.

    Обсуждение

    Вы используете этот метод для отправки обновлений значения характеристики — через уведомление или индикацию — к выбранным centrals, подписавшимся на значение той характеристики. Если возвращается метод NOfalse потому что базовая очередь передачи полна, периферийные вызовы диспетчера peripheralManagerIsReadyToUpdateSubscribers: когда больше пространства в очереди передачи становится доступным, метод его делегата возражает. После того, как этот метод делегата вызывают, можно снова послать обновление.

    Если длина value параметр превышает длину maximumUpdateValueLength свойство подписанного CBCentral, value параметр является усеченным соответственно.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

    См. также

    peripheralManager:central:didSubscribeToCharacteristic:
    peripheralManager:central:didUnsubscribeFromCharacteristic:

  • Реагирует на чтение или запрос записи от связанного центрального.

    Объявление

    Swift

    func respondToRequest(_ request: CBATTRequest!, withResult result: CBATTError)

    Objective C

    - (void)respondToRequest:(CBATTRequest *)request withResult:(CBATTError)result

    Параметры

    request

    Чтение или запрос записи, полученный от связанного центрального. Для получения дополнительной информации о чтении и запросах записи, см. Ссылку класса CBATTRequest.

    result

    Результат попытки выполнить запрос. Для списка возможных результатов посмотрите Ядро Ссылка Констант Bluetooth.

    Обсуждение

    Когда периферийный менеджер получает запрос (представленный как a CBATTRequest объект) от связанного центрального, чтобы читать или записать значение характеристики, это вызывает peripheralManager:didReceiveReadRequest: или peripheralManager:didReceiveWriteRequests: метод его объекта делегата. Каждый раз, когда один из этих методов делегата вызывают, Вы вызываете этот метод для ответа на соответствующее чтение или запрос записи.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Устанавливает желаемую задержку соединения для существующего соединения с центральным устройством.

    Объявление

    Swift

    func setDesiredConnectionLatency(_ latency: CBPeripheralManagerConnectionLatency, forCentral central: CBCentral!)

    Objective C

    - (void)setDesiredConnectionLatency:(CBPeripheralManagerConnectionLatency)latency forCentral:(CBCentral *)central

    Параметры

    latency

    Желаемая задержка соединения. Для списка возможных значений задержки соединения, которые можно установить для периферийного менеджера, посмотрите Периферийного менеджера Коннекшна Лэтенси.

    central

    Центральное, с которым в настоящее время подключается периферийный менеджер.

    Обсуждение

    Задержка периферийно-центральное управление соединениями, как часто сообщениями можно обменяться между периферийным устройством и центральным, с которым подключено периферийное устройство. Путем установки желаемой задержки соединения Вы управляете отношением между частотой, с которой данные переданы и получающаяся производительность батареи периферийного устройства. При вызове этого метода для установки задержки соединения, обратите внимание на то, что не гарантируются изменения задержки соединения. И так, результирующая задержка может варьироваться. Если Вы явно не устанавливаете задержку, задержка соединения установлена в задержку, выбранную центральным устройством, когда было сначала установлено соединение. Как правило, не необходимо изменить задержку соединения.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Ключи раньше передавали опции initWithDelegate:queue:options: метод.

    Объявление

    Swift

    let CBPeripheralManagerOptionShowPowerAlertKey: NSString!

    Objective C

    NSString *const CBPeripheralManagerOptionShowPowerAlertKey;

    Константы

    • CBPeripheralManagerOptionShowPowerAlertKey

      CBPeripheralManagerOptionShowPowerAlertKey

      Булево значение, указывающее, должна ли система вывести на экран диалоговое окно предупреждения пользователю, если Bluetooth выключается, когда инстанцируют периферийный менеджер.

      Значение для этого ключа NSNumber. Если ключ не указан, значение по умолчанию NOfalse.

      Доступный в OS X v10.9 и позже.

  • Значения, представляющие текущее состояние периферийного менеджера.

    Объявление

    Swift

    enum CBPeripheralManagerState : Int { case Unknown case Resetting case Unsupported case Unauthorized case PoweredOff case PoweredOn }

    Objective C

    typedef enum { CBPeripheralManagerStateUnknown = 0, CBPeripheralManagerStateResetting, CBPeripheralManagerStateUnsupported, CBPeripheralManagerStateUnauthorized, CBPeripheralManagerStatePoweredOff, CBPeripheralManagerStatePoweredOn, } CBPeripheralManagerState;

    Константы

    • Unknown

      CBPeripheralManagerStateUnknown

      Текущее состояние периферийного менеджера неизвестно; обновление неизбежно.

      Доступный в OS X v10.9 и позже.

    • Resetting

      CBPeripheralManagerStateResetting

      Соединение с системной службой было на мгновение потеряно; обновление неизбежно.

      Доступный в OS X v10.9 и позже.

    • Unsupported

      CBPeripheralManagerStateUnsupported

      Платформа не поддерживает низкоэнергетическое периферийное устройство/роль сервера Bluetooth.

      Доступный в OS X v10.9 и позже.

    • Unauthorized

      CBPeripheralManagerStateUnauthorized

      Приложение не разрешено использовать низкоэнергетическое периферийное устройство/роль сервера Bluetooth.

      Доступный в OS X v10.9 и позже.

    • PoweredOff

      CBPeripheralManagerStatePoweredOff

      Bluetooth в настоящее время выключается.

      Доступный в OS X v10.9 и позже.

    • PoweredOn

      CBPeripheralManagerStatePoweredOn

      Bluetooth в настоящее время включается и доступен использованию.

      Доступный в OS X v10.9 и позже.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.

  • Значения, представляющие задержку соединения периферийного менеджера.

    Объявление

    Swift

    enum CBPeripheralManagerConnectionLatency : Int { case Low case Medium case High }

    Objective C

    typedef enum { CBPeripheralManagerConnectionLatencyLow = 0, CBPeripheralManagerConnectionLatencyMedium, CBPeripheralManagerConnectionLatencyHigh, } CBPeripheralManagerConnectionLatency;

    Константы

    • Low

      CBPeripheralManagerConnectionLatencyLow

      За время работы от батареи быстрая связь имеет приоритет.

      Доступный в OS X v10.9 и позже.

    • Medium

      CBPeripheralManagerConnectionLatencyMedium

      Баланс выходит между частотой коммуникаций и время работы от батареи.

      Доступный в OS X v10.9 и позже.

    • High

      CBPeripheralManagerConnectionLatencyHigh

      Расширение времени работы от батареи имеет приоритет над быстрой связью.

      Доступный в OS X v10.9 и позже.

    Оператор импорта

    Objective C

    @import CoreBluetooth;

    Swift

    import CoreBluetooth

    Доступность

    Доступный в OS X v10.9 и позже.