Ссылка IOBluetoothUserLib.h
Открытые интерфейсы для реализации Apple технологии Bluetooth.
Существует сопроводительный заголовок к этому, «Bluetooth.h», содержащему все специфичные для технологии определения типов и информацию. Этот заголовок полагается в большой степени на него.
Включенные заголовки
<IOKit/IOKitLib.h>
<CoreFoundation/CFMachPort.h>
<IOBluetooth/Bluetooth.h>
<Foundation/Foundation.h>
-
IOBluetoothAddSCOAudioDevice IOBluetoothAddSCOAudioDevice
(OS X v10.9)Создает персистентный драйвер аудио, который направит аудиоданные к/от указанному устройству.
Объявление
Objective C
IOReturn IOBluetoothAddSCOAudioDevice ( IOBluetoothDeviceRef device, CFDictionaryRef configDict );
Параметры
device
Парное аудиоустройство Bluetooth
configDict
Словарь конфигурации, содержащий описание регулировок звука, чтобы быть присоединенными к драйверу. Передача NULL приведет к средствам управления по умолчанию
Возвращаемое значение
Возвраты kIOReturnSuccess, если драйвер аудио успешно создавался, ошибка, если аппаратные средства не поддерживают SCO или устройство, не соединяются.
Обсуждение
Bluetooth-устройство должно быть соединено, прежде чем оно сможет быть добавлено. Аппаратные средства Bluetooth должны также поддерживать соединения SCO для устройств, которые будут добавлены.
Когда клиент попытается использовать драйвер аудио, он автоматически откроет основополосное соединение и соединение SCO при необходимости. Как только они открыты, это направит аудиоданные к/от аудиосистеме. Драйвер аудио будет продолжать существовать (даже через перезагрузки), пока не вызовут IOBluetoothRemoveAudioDevice.
В настоящее время единственная распознанная запись в configDict является «IOAudioControls». Та запись будет NSArray объектов NSDictionary, где каждый словарь представляет единственную регулировку звука. Следующее является описанием обязательных и дополнительных записей в каждом словаре управления.
Обязательные записи:
kIOAudioControlTypeKey = Четыре символьных кода, представляющие тип управления (см. IOAudioTypes.h), Возможные значения: kIOAudioControlTypeLevel kIOAudioControlTypeToggle kIOAudioControlTypeSelector kIOAudioControlSubTypeKey = Четыре символьных кода, представляющие подтип управления. Значение зависит от типа управления. Следующее является общими подтипами для каждого типа управления: kIOAudioControlTypeLevel: kIOAudioLevelControlSubTypeVolume kIOAudioControlTypeToggle: kIOAudioToggleControlSubTypeMute kIOAudioControlTypeSelector: kIOAudioSelectorControlSubTypeOutput kIOAudioSelectorControlSubTypeInput kIOAudioControlUsageKey = Четыре символьных кода, представляющие использование управления (т.е. какая часть I/O объединяет влияние управления в цепочку - ввод, выведите, передача - через...), (см. IOAudioTypes.h), Возможные значения: kIOAudioControlUsageOutput kIOAudioControlUsageInput kIOAudioControlUsagePassThru kIOAudioControlChannelIDKey = идентификатор канала для канала (ов) акты о контроле на (см. IOAudioControl.h и IOAudioTypes.h для большего количества информации), kIOAudioControlChannelNameKey = имя для канала (см. IOAudioControl.h и IOAudioDefines.h для большего количества информации), kIOAudioControlValueKey = Начальное значение управления - как NSNumber
Дополнительные записи: kIOAudioControlIDKey = Дополнительное определенное разработчиками поле ID раньше однозначно определял каждое управление.
Специфичные для регулятора уровня записи (см. IOAudioDefines.h), kIOAudioLevelControlMinValueKey = значение Мин для диапазона для регулятора уровня kIOAudioLevelControlMaxValueKey = Макс. значение для диапазона для регулятора уровня kIOAudioLevelControlMinDBKey = значение Мин в дб для диапазона для регулятора уровня. Значение является фиксированной точкой 16,16 чисел, представленных как целое число в NSNumber. kIOAudioLevelControlMaxDBKey = Макс. значение в дб для диапазона для регулятора уровня. Значение является фиксированной точкой 16,16 чисел, представленных как целое число в NSNumber.
Для более подробного описания этих атрибутов и как IOAudioControls работают, посмотрите headerdoc для IOAudioControl, IOAudioLevelControl, IOAudioToggleControl и IOAudioSelectorControl в Kernel.framework.
Оператор импорта
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
IOBluetoothAddServiceDict IOBluetoothAddServiceDict
(OS X v10.9)Добавляет служба к локальному серверу SDP.
Объявление
Objective C
IOReturn IOBluetoothAddServiceDict ( CFDictionaryRef serviceDict, IOBluetoothSDPServiceRecordRef *outServiceRecord );
Параметры
serviceDict
Словарь, содержащий атрибуты для новой службы
outServiceRecord
Указатель на недавно создаваемый IOBluetoothSDPServiceRecordRef. Присвоенный идентификатор канала RFCOMM может быть получен из служебной книжки (как может другие присвоенные параметры.) Если kIOReturnSuccess возвращается, это значение только установлено. Вызывающая сторона ответственна за выпуск IOBluetoothSDPServiceRecordRef путем вызова IOBluetoothObjectRelease (), когда сделано.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха.
Обсуждение
Каждая запись в словаре, представляющем службу, содержит отдельные атрибуты. Каждый атрибут в dict включается строкой, которая должна начаться с шестнадцатеричного числа, представляющего атрибут ID. Строка ключа может содержать дополнительные символы при желании, пока они следуют за пространством после шестнадцатеричной строки ID. Значение атрибута должно следовать за форматом словаря, описанным IOBluetoothSDPDataElement. Этот формат словаря позволяет службе dict быть созданной как plist файл и затем загруженной в систему, а не накопленной в коде. Посмотрите пример кода для примера того, как может быть сделан.
Если дескриптор служебной книжки, L2CAP PSM или идентификатор канала RFCOMM, указанный в словаре, будут использоваться, то альтернативный будет присвоен.
В дополнение к атрибутам, представляющим саму службу, дополнительные атрибуты могут быть указаны, которые управляют локальным поведением службы. Для указания этих локальных атрибутов дополнительное свойство назвало, «LocalAttributes» может быть добавлен к корню службы dict. Значение этого свойства должно быть словарем, содержащим отдельные локальные атрибуты.
В настоящее время только два локальных атрибута поддерживаются: «Персистентный» и «TargetApplication».
«Персистентный» локальный атрибут должен быть или булевской переменной или представлением числа, должна ли служба быть персистентной. Персистентная служба будет сохранена прочь и восстановила любое время, аппаратные средства Bluetooth присутствуют. Это сохранится через перезагрузки и может только быть удалено путем вызова IOBluetoothRemoveServiceWithRecordHandle (). Этот атрибут является дополнительным. По умолчанию, если никакое «Персистентное» локальное свойство не будет присутствовать, то служба будет только существовать временно. Это будет удалено также, когда IOBluetoothRemoveServiceWithRecordHandle () вызовут или когда выходит клиентское приложение.
Локальный атрибут «TargetApplication» используется для указания приложения, которое будет запущено, когда удаленное устройство пытается соединиться со службой (путем открытия L2CAP или канала RFCOMM типа, указанного в службе). Это значение должно быть строкой, представляющей абсолютный путь целевой исполнимой программе (не только .app обертка - т.е./system/library/coreservices/obexagent.app/contents/macos/obexagent). Этот атрибут является дополнительным. Если никакой локальный атрибут «TargetApplication» не будет указан, то никакое специальное действие не будет иметь место, когда будет создано входящее соединение со службой. Это до клиента, чтобы контролировать для соединения и сделать правильную вещь, когда каждый появляется.
Свойство «LocalAttributes» является дополнительным. Если это не указано, по умолчанию создаваемая служба является переходной и будет удалена, когда выходит клиент.
Дополнительные локальные атрибуты для дальнейшего управления входящими службами будут добавлены в будущем.
Оператор импорта
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
IOBluetoothDeviceRegisterForDisconnectNotification (_: _: _:) IOBluetoothDeviceRegisterForDisconnectNotification
Позволяет клиенту регистрироваться для уведомления разъединения устройства.
Объявление
Swift
func IOBluetoothDeviceRegisterForDisconnectNotification(_
inDevice
: IOBluetoothDevice!, _callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothDeviceRegisterForDisconnectNotification ( IOBluetoothDeviceRef inDevice, IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
callback
Обратный вызов, который вызовут, когда уничтожается соединение цели
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление разъединения устройства. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Когда соединение целевого устройства будет закрыто, данный обратный вызов вызовут..
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращается BluetoothObjectID передал как параметр автозапущенному приложению.
Объявление
Objective C
IOBluetoothObjectID IOBluetoothGetObjectIDFromArguments ( int argc, const char *argv[] );
Параметры
argc
argc параметр передал основному ()
argv
argv параметр передал основному ()
Возвращаемое значение
Возвращается BluetoothObjectID передал в данных параметрах. Если никакой ID не присутствует, kIOBluetoothObjectIDNULL возвращается.
Обсуждение
Когда приложение автозапускается окрашенным в синий цвет процессом (в результате входящего соединения с соответственно сконфигурированной службой), этому передали BluetoothObjectID ему на командной строке. Для получения BluetoothObjectID просто передайте argc и argv параметры, полученные в основном () к этой функции. Возвращенный BluetoothObjectID может тогда использоваться для нахождения надлежащего IOBluetoothL2CAPChannel или IOBluetoothRFCOMMChannel в зависимости от типа службы (использующий IOBluetoothL2CAPChannelCreateFromObjectID () или IOBluetoothRFCOMMChannelCreateFromObjectID.)
*** DEPRECATED IN BLUETOOTH 2.2 (OS X v10.6) *** Вы должен перейти Ваш код к эквивалентам Objective C. *** Этот API может быть удален любое время в будущем.
Оператор импорта
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.6.
-
Подсказки, что программное обеспечение OS X Bluetooth должно проигнорировать устройство HID, соединяющееся.
Объявление
Swift
func IOBluetoothIgnoreHIDDevice(_
device
: IOBluetoothDevice!)Objective C
void IOBluetoothIgnoreHIDDevice ( IOBluetoothDeviceRef device );
Параметры
device
Bluetooth-устройство для игнорирования.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.6 и позже.
-
IOBluetoothL2CAPChannelRegisterForChannelCloseNotification (_: _: _:) IOBluetoothL2CAPChannelRegisterForChannelCloseNotification
Позволяет клиенту регистрировать для канала близкое уведомление.
Объявление
Swift
func IOBluetoothL2CAPChannelRegisterForChannelCloseNotification(_
channel
: IOBluetoothL2CAPChannel!, _callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothL2CAPChannelRegisterForChannelCloseNotification ( IOBluetoothL2CAPChannelRef channel, IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
channel
Целевой канал L2CAP
callback
Обратный вызов, который вызовут, когда закрывается канал L2CAP.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающийся канал L2CAP близкое уведомление. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Когда канал L2CAP будет закрыт, данный обратный вызов вызовут.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
IOBluetoothRegisterForDeviceConnectNotifications (_: _:) IOBluetoothRegisterForDeviceConnectNotifications
Позволяет клиенту регистрироваться для уведомлений подключения устройства для любого соединения.
Объявление
Swift
func IOBluetoothRegisterForDeviceConnectNotifications(_
callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRegisterForDeviceConnectNotifications ( IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
callback
Обратный вызов, который вызовут, когда сделано новое соединение
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление подключения устройства. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Данный обратный вызов вызовут каждый раз, когда сделано любое подключение устройства.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications (_: _: _: _:) IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications
Позволяет клиенту регистрировать для канала L2CAP открытые уведомления для определенных типов каналов L2CAP.
Объявление
Swift
func IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications(_
callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>, _psm
: BluetoothL2CAPPSM, _inDirection
: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRegisterForFilteredL2CAPChannelOpenNotifications ( IOBluetoothUserNotificationCallback callback, void *inRefCon, BluetoothL2CAPPSM inPSM, IOBluetoothUserNotificationChannelDirection inDirection );
Параметры
callback
Обратный вызов, который вызовут, когда открыт новый канал L2CAP.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
psm
PSM для соответствия нового канала L2CAP. Если PSM не имеет значения, 0 может быть передан в.
inDirection
Желаемое направление канала L2CAP - kIOBluetoothUserNotificationChannelDirectionAny, если направление не имеет значения.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление канала L2CAP. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Данный обратный вызов вызовут каждый раз, когда открыт любой канал L2CAP.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications (_: _: _: _:) IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications
Позволяет клиенту регистрировать для канала RFCOMM открытые уведомления для определенных типов каналов RFCOMM.
Объявление
Swift
func IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications(_
callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>, _channeLID
: BluetoothRFCOMMChannelID, _inDirection
: IOBluetoothUserNotificationChannelDirection) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRegisterForFilteredRFCOMMChannelOpenNotifications ( IOBluetoothUserNotificationCallback callback, void *inRefCon, BluetoothRFCOMMChannelID channelID, IOBluetoothUserNotificationChannelDirection inDirection );
Параметры
callback
Обратный вызов, который вызовут, когда открыт новый канал RFCOMM.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
channeLID
Идентификатор канала RFCOMM для соответствия нового канала RFCOMM. Если идентификатор канала не имеет значения, 0 может быть передан в.
inDirection
Желаемое направление канала RFCOMM - kIOBluetoothUserNotificationChannelDirectionAny, если направление не имеет значения.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление канала RFCOMM. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Данный обратный вызов вызовут каждый раз, когда открыт любой канал RFCOMM.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
IOBluetoothRegisterForL2CAPChannelOpenNotifications (_: _:) IOBluetoothRegisterForL2CAPChannelOpenNotifications
Позволяет клиенту регистрировать для канала L2CAP открытые уведомления для любого канала L2CAP.
Объявление
Swift
func IOBluetoothRegisterForL2CAPChannelOpenNotifications(_
callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRegisterForL2CAPChannelOpenNotifications ( IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
callback
Обратный вызов, который вызовут, когда открыт новый канал L2CAP.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление канала L2CAP. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Данный обратный вызов вызовут каждый раз, когда открыт любой канал L2CAP.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
IOBluetoothRegisterForRFCOMMChannelOpenNotifications (_: _:) IOBluetoothRegisterForRFCOMMChannelOpenNotifications
Позволяет клиенту регистрировать для канала RFCOMM открытые уведомления для любого канала RFCOMM.
Объявление
Swift
func IOBluetoothRegisterForRFCOMMChannelOpenNotifications(_
callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRegisterForRFCOMMChannelOpenNotifications ( IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
callback
Обратный вызов, который вызовут, когда открыт новый канал RFCOMM.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающееся уведомление канала RFCOMM. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Данный обратный вызов вызовут каждый раз, когда открыт любой канал RFCOMM.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Дубликат к вышеупомянутому IOBluetoothIgnoreHIDDevice () API.
Объявление
Swift
func IOBluetoothRemoveIgnoredHIDDevice(_
device
: IOBluetoothDevice!)Objective C
void IOBluetoothRemoveIgnoredHIDDevice ( IOBluetoothDeviceRef device );
Параметры
device
Bluetooth-устройство к «ООН» игнорирует.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.6 и позже.
-
Удаляет персистентный драйвер аудио для устройства, уже добавленного с помощью IOBluetoothAddAudioDevice ().
Объявление
Objective C
IOReturn IOBluetoothRemoveSCOAudioDevice ( IOBluetoothDeviceRef device );
Параметры
device
Аудиоустройство Bluetooth для удаления
Возвращаемое значение
Возвраты kIOReturnSuccess, если был успешно удален драйвер аудио.
Оператор импорта
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
Удаляет данную службу из локального сервера SDP.
Объявление
Objective C
IOReturn IOBluetoothRemoveServiceWithRecordHandle ( BluetoothSDPServiceRecordHandle serviceRecordHandle );
Параметры
serviceRecordHandle
Дескриптор службы, которая будет удалена.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха.
Обсуждение
Дескриптор служебной книжки, переданный этой функции, должен соответствовать дескриптор в служебной книжке, возвращенной IOBluetoothAddServiceDict.
Оператор импорта
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification (_: _: _:) IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification
Позволяет клиенту регистрировать для канала близкое уведомление.
Объявление
Swift
func IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification(_
channel
: IOBluetoothRFCOMMChannel!, _callback
: IOBluetoothUserNotificationCallback, _inRefCon
: UnsafeMutablePointer<Void>) -> Unmanaged<IOBluetoothUserNotification>!Objective C
IOBluetoothUserNotificationRef IOBluetoothRFCOMMChannelRegisterForChannelCloseNotification ( IOBluetoothRFCOMMChannelRef inChannel, IOBluetoothUserNotificationCallback callback, void *inRefCon );
Параметры
channel
Целевой канал RFCOMM
callback
Обратный вызов, который вызовут, когда закрывается канал RFCOMM.
inRefCon
Предоставленный клиентами refCon, который будет передан обратному вызову.
Возвращаемое значение
Возвращает IOBluetoothUserNotificationRef, представляющий выдающийся канал RFCOMM близкое уведомление. Чтобы не зарегистрировать уведомление, вызовите IOBluetoothUserNotificationUnregister () с возвращенным IOBluetoothUserNotificationRef. Если с ошибкой встречаются, создавая уведомление, NULL возвращается. Возвращенный IOBluetoothUserNotificationRef будет допустим столько, сколько регистрируется уведомление. Не необходимо сохранить результат. Как только уведомление не зарегистрировано, это больше не будет допустимо.
Обсуждение
Когда канал RFCOMM будет закрыт, данный обратный вызов вызовут.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Не регистрирует целевое уведомление.
Объявление
Swift
func IOBluetoothUserNotificationUnregister(_
notificationRef
: IOBluetoothUserNotification!)Objective C
void IOBluetoothUserNotificationUnregister ( IOBluetoothUserNotificationRef notificationRef );
Параметры
notificationRef
Целевой IOBluetoothUserNotificationRef, чтобы быть незарегистрированным
Возвращаемое значение
Ни один.
Обсуждение
Эта функция не зарегистрирует уведомление. Как только уведомление было не зарегистрировано, оно больше не будет вызывать обратный вызов. Кроме того, как только эта функция была вызвана, целевой IOBluetoothUserNotificationRef больше не действителен.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Определение функции обратного вызова для пользовательских уведомлений.
Объявление
Swift
typealias IOBluetoothUserNotificationCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, IOBluetoothUserNotification!, IOBluetoothObject!) -> Void)>
Objective C
typedef void ( *IOBluetoothUserNotificationCallback)( void *userRefCon, IOBluetoothUserNotificationRef inRef, IOBluetoothObjectRef objectRef );
Параметры
userRefCon
(недействительный *), Этот определяемый пользователем параметр был предоставлен во время первоначального вызова для регистрации уведомления.
inRef
(IOBluetoothUserNotificationRef) уведомление, ответственное за отправку уведомления.
status
(IOBluetoothObjectRef) объект, породивший уведомление.
Возвращаемое значение
Ни один.
Обсуждение
Этот обратный вызов будет вызван, когда будет отправлено уведомление, для которого он был зарегистрирован.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. Обзор для документации уровня заголовка.
-
Объявление
Swift
typealias IOBluetoothDeviceSearchOptions = UInt32
Objective C
typedef UInt32 IOBluetoothDeviceSearchOptions;
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Структура раньше искала определенные устройства.
Объявление
Objective C
struct IOBluetoothDeviceSearchAttributes { IOBluetoothDeviceSearchOptions options; // Options. IOItemCount maxResults; // Maximum number of results you desire. 0 means infinite. IOItemCount deviceAttributeCount; IOBluetoothDeviceSearchDeviceAttributes *attributeList; };
Обсуждение
Можно искать общие классы устройства и классы обслуживания, или можно искать определенный адрес устройства или имя. При передаче NULL как структуры атрибута Вы получите устройства ALL в близости, найденной во время поиска. Обратите внимание на то, что передача обнуленного блока атрибутов не эквивалентна передаче в NULL!
-
Структура раньше искала определенные устройства.
Объявление
Objective C
struct IOBluetoothDeviceSearchDeviceAttributes { BluetoothDeviceAddress address; // 00 08 22 44 AB 56, etc. BluetoothDeviceName name; // "Al Yankovic' s Phone", etc. BluetoothServiceClassMajor serviceClassMajor; // Networking , Rendering, etc. BluetoothDeviceClassMajor deviceClassMajor; // Computer , Phone, Audio, etc. BluetoothDeviceClassMinor deviceClassMinor; // Desktop , cordless, headset , etc. };
Обсуждение
Удостоверьтесь, что Вы указываете все поля! Если Вы не устанавливаете deviceClassMajor, например, и значение 0, который отображается на kBluetoothDeviceClassMajorMiscellaneous, который является, вероятно, не, что Вы хотите. Для поиска всех типов устройства необходимо передать kBluetoothDeviceClassMajorAny и его родственников.
См. Обзор для документации уровня заголовка.
-
Биты для определения, что bluetooth-устройства искать
Объявление
Swift
struct IOBluetoothDeviceSearchDeviceAttributes { var address: BluetoothDeviceAddress var name: BluetoothDeviceName var serviceClassMajor: BluetoothServiceClassMajor var deviceClassMajor: BluetoothDeviceClassMajor var deviceClassMinor: BluetoothDeviceClassMinor }
Objective C
//-------------------------------------------------------------------------------------------------------------------------- /*! @enum IOBluetoothDeviceSearchTypesBits */ enum IOBluetoothDeviceSearchTypesBits { kIOBluetoothDeviceSearchClassic = 1, }; typedef struct IOBluetoothDeviceSearchDeviceAttributes IOBluetoothDeviceSearchDeviceAttributes; //-------------------------------------------------------------------------------------------------------------------------- /*! @struct IOBluetoothDeviceSearchAttributes */ typedef struct IOBluetoothDeviceSearchAttributes IOBluetoothDeviceSearchAttributes; //-------------------------------------------------------------------------------------------------------------------------- /*! @typedef IOBluetoothDeviceSearchTypes */ typedef UInt32 IOBluetoothDeviceSearchTypes;
Обсуждение
Можно искать общие классы устройства и классы обслуживания, или можно искать определенный адрес устройства или имя. При передаче NULL как структуры атрибута Вы получите устройства ALL в близости, найденной во время поиска. Обратите внимание на то, что передача обнуленного блока атрибутов не эквивалентна передаче в NULL!
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Биты для определения, что bluetooth-устройства искать
Объявление
Objective C
//-------------------------------------------------------------------------------------------------------------------------- /*! @enum IOBluetoothDeviceSearchTypesBits */ enum IOBluetoothDeviceSearchTypesBits { kIOBluetoothDeviceSearchClassic = 1, };
Обсуждение
Можно искать общие классы устройства и классы обслуживания, или можно искать определенный адрес устройства или имя. При передаче NULL как структуры атрибута Вы получите устройства ALL в близости, найденной во время поиска. Обратите внимание на то, что передача обнуленного блока атрибутов не эквивалентна передаче в NULL!