我正在使用通过BLE连接到设备的Swift应用程序(iOS)。
我写了一些代码,设法连接到我的设备,设法获取广告数据但是当我使用didDiscoverServices方法扫描服务时,我只获得电池和设备信息服务,而不是HID服务。 我可以在广告数据中看到设备信息,电池和HID服务,但不能在didDiscoverServices方法中看到。 我可以访问didDiscoverServices方法中的电池和设备信息的特征。 我已经在多个地方读过HID由iOS管理而不是应用程序。
有没有办法访问HID服务?
答案 0 :(得分:1)
很遗憾,无法访问此服务。 Apple主动过滤某些BLE服务,因此您无法通过CoreBluetooth API访问它们。特别是,HID over Gatt服务由系统维护,因此您可以使用您的设备输入文本等,但您将无法拦截应用中的任何事件。
上述过滤也适用于外围角色。如果您尝试将HID over Gatt UUID作为新服务添加到CBPeripheralManager,您将收到错误。