2017-08-17 65 views
1

我正在通過BLE連接到設備的Swift應用程序(iOS)。HID服務不可見

我寫了一些代碼,設法連接到我的設備,設法獲取廣告數據,但是當我使用didDiscoverServices方法掃描服務時,我只獲取電池和設備信息服務,而不是HID服務。 我可以在廣告數據中看到Device信息,Battery和HID服務,但不能在didDiscoverServices方法中看到。 我可以訪問didDiscoverServices方法中電池和設備信息的特徵。 我在多個地方閱讀過HID由iOS管理,而不是由應用管理。

有什麼方法可以訪問HID服務嗎?

回答

1

不幸的是,無法訪問此服務。 Apple會主動過濾某些BLE服務,因此您無法通過CoreBluetooth API訪問它們。特別是,GAT服務的HID由系統維護,因此您可以使用設備輸入文字等,但是您將無法攔截應用中的任何事件。

上述過濾也適用於外設角色。如果您試圖通過Gatt UUID將HID添加爲CBPeripheralManager的新服務,您將會收到錯誤消息。