Перечисление Bluetooth-устройств изначально в Objective-C - PullRequest
7 голосов
/ 12 ноября 2009

Я пытаюсь написать очень простое терминальное приложение, которое будет сканировать устройства Bluetooth через равные промежутки времени и отображать сетевой адрес Bluetooth (шестнадцатеричные цифры) каждого устройства Bluetooth в пределах диапазона. Моя целевая платформа - Mac OS X, поэтому я предполагаю, что это будет включать Objective-C. У меня нет никакого опыта в Objective-C (хотя у меня есть все основы C), но, похоже, это должно быть довольно просто.

Где я могу найти документацию и пример кода (или учебное пособие, или код, который некоторые авторы использовали в прошлом) для быстрого и стандартного отображения устройств Bluetooth?

Ответы [ 4 ]

5 голосов
/ 27 июля 2012

Использование Bluetooth с Objective-C может быть достигнуто с помощью IOBluetooth framework.

Пример некоторых полезных классов для базовой операции:

  • IOBluetoothDevice
    • способы подключения
    • [IOBluetoothDevice pairedDevices] возвращает NSArray для сопряженных устройств
    • много других вещей
  • IOBluetoothDeviceInquiry
    • ищет доступные устройства
  • IOBluetoothHostController
    • свойство powerState может сообщить вам, включен или выключен ваш собственный Bluetooth

Вот пример кода для использования IOBluetoothDeviceInquiry для получения адреса каждого устройства Bluetooth в диапазоне. Начните процесс запроса с чего-то вроде:

IOBluetoothDeviceInquiry *inquirer = [IOBluetoothDeviceInquiry inquiryWithDelegate:self];
// Configure further here if necessary
[inquirer start];

Теперь вы можете получить адрес найденных устройств, используя методы IOBluetoothDeviceInquiryDelegate:

#pragma mark - IOBluetoothDeviceInquiryDelegate Methods

- (void) deviceInquiryComplete:(IOBluetoothDeviceInquiry *)sender error:(IOReturn)error aborted:(BOOL)aborted {
    NSArray *devices = [sender foundDevices];
    for (IOBluetoothDevice *device in devices) {
        const BluetoothDeviceAddress *address = [device getAddress];
        // Do something with address
    }
    [sender performSelector:@selector(start) withObject:nil afterDelay:7];
}
5 голосов
/ 12 ноября 2009

Следующая ссылка на Mac Dev Center может быть вам интересна. Это немного глубоко, но есть примеры кода.

Введение в руководство по доступу к устройству Bluetooth

0 голосов
/ 10 февраля 2010

Вы можете сделать это с помощью Gamekit Api и работы с кадрами btstack ...

но это большая проблема.

всего наилучшего ..

если ты получишь положенный .. пожалуйста, напиши свой опыт. я тоже смотрю этот.

0 голосов
/ 03 февраля 2010

Не знаю ни одного примера кода, но вы захотите использовать класс IOBluetoothDeviceInquiry из инфраструктуры IOBluetooth. Руководство по доступу к устройству Bluetooth содержит краткий раздел .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...