Получить сопряженные устройства, которые подключены через Bluetooth в iOS
Я подключил сканер штрих-кода
Информация о сканере штрих-кода
Я хочу знать парный статус этого. Связано ли это с устройством или нет.
- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
self.connectingPeripheral = peripheral;
NSLog(@"@@@@@@Peripheral Name is:%@ Identifier:%@ Services:%@",peripheral.name,peripheral.identifier,peripheral.services);
[self.bluetoothManager connectPeripheral: self.connectingPeripheraloptions: nil];
}
Я получаю информацию о Mac, которые находятся рядом и включены. Но я не получаю информацию сканера штрих-кода в этом методе.
Мне нужно, подключен ли сканер штрих-кода к устройству или нет.
Кто-нибудь может подсказать, как найти подключение сканера штрих-кода.
Я ценю ваш ответ, спасибо.
3 ответа
Прочитайте ответ ниже:
/questions/19348479/kak-poluchit-spisok-dostupnyih-bluetooth-ustrojstv/19348490#19348490
Могу помочь тебе. Более того, CoreBluetooth позволяет только получать доступ к Bluetooth-устройствам с низким энергопотреблением. Вы можете подключить эти устройства, если вам нужно шифрование, но обычно это не так. Тем не менее, нет API для составления списка сопряженных устройств - вам нужно обнаружить устройства, которые предлагают интересующую вас услугу, и представить список, если необходимо, используя свой собственный пользовательский интерфейс в вашем приложении. После того как вы определили целевое устройство, вы можете инициировать соединение.
Приложение "Настройки" может обнаруживать практически все виды устройств Bluetooth, но система уведомляет ваше приложение только об устройствах BLE.
Перезагрузите сканер и убедитесь, что ваш iPhone и сканер не подключены к каким-либо устройствам. Включите обнаружение сканера.
Если приложение "Настройки" может найти сканер, в то время как демонстрационная версия отсутствует, сканер не является устройством BLE и не поддерживается iOS с iPhone 4s.Если сканер является устройством BLE, необходимо выполнить дополнительную работу, чтобы выяснить, подключены ли они.
Вы можете проверить
state
из обнаруженныхCBPeripheral
вfunc centralManager(_ central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData advertisementData: [String : AnyObject], RSSI RSSI: NSNumber)
,Магазин CBPeripheral's
identifier
, прежде чем подключиться к нему. Используйте этот идентификатор вfunc retrievePeripheralsWithIdentifiers(_ identifiers: [NSUUID]) -> [CBPeripheral]
. И проверьте, находится ли ваш сканер в массиве возврата.
Если вы не храните identifier
, вы не можете получить доступ к подключенному устройству BLE.
Как упоминалось в комментариях, Core Bluetooth предназначен для Bluetooth с низким энергопотреблением, а сканер штрих-кода Bluetooth 2.1 (классический). Чтобы это работало, вы должны как минимум использовать IOBluetooth.
Проверьте рамки IOBluetooth. Плохая новость заключается в том, что Apple весьма ограничена в разработке классического Bluetooth, но, надеюсь, что-то можно сделать. На первый взгляд, я не увидел эквивалента Core Bluetooth.