#ios #bluetooth #keyboard #barcode-scanner #hid
#iOS #bluetooth #клавиатура #сканер штрих-кодов #hid
Вопрос:
У меня есть устройство iOS и сканер штрих-кодов Bluetooth, который работает как внешняя клавиатура.
Задача состоит в том, чтобы получить отсканированный штрих-код в фоновом режиме внутри моей динамической библиотеки и уведомить приложение, которое включает мою библиотеку. Весь пользовательский интерфейс находится в главном приложении, я не могу вставить в него свой код, все, что у меня есть, — это практически независимая библиотека.
Как я думаю, может существовать несколько подходов:
- Подключаю сканер BT самостоятельно и считываю штрих-код непосредственно с устройства. Я пытался использовать ExternalAccessory, но EAAccessoryManager не видит устройство. Также есть такая штука, как CoreBluetooth для BLE, но сканер поддерживает только BT 2.0;
- Каким-то образом захватить устройство HID и исключительно считывать данные с него. Я нашел информацию о IOHIDFamily, но это частный API, и его нельзя использовать из-за требований AppStore;
- Создайте какой-нибудь клавиатурный хук. Перехватывайте все события клавиатуры, фильтруйте показания штрих-кода и просто вводите с обычной клавиатуры.
Но пока я не могу реализовать ни одну из своих идей. Может быть, кто-нибудь может помочь мне сделать это или предложить какой-либо другой подход?
Спасибо.