2015-02-05 155 views
1

是否有可能使用corebluetooth框架來檢測外設是否可綁定?藍牙4.0低功耗和iOS:如何檢測設備是否可綁定?

我應該執行失敗連接到委託嗎?

+0

我想回答這個問題非常多,但我不知道答案是肯定的。我所知道的是[可以檢測何時在iOS設備端的請求提醒上點擊「Pair」或「Cancel」](http://stackoverflow.com/a/12953887/981049)。 – 2015-02-05 18:54:56

+0

是的,這是不夠的= =( – stackOverFlew 2015-02-05 19:30:48

回答

3

目前沒有任何東西。對於更高版本的BLE,綁定信息(GAP模式)位於GAP配置文件中,但不能通過CoreBluetooth爲您提供該信息的一個位。除了一些廣告數據和有限的掃描響應數據外,它僅在下面提供GATT信息。

您可以閱讀任何需要的特徵屬性以查看它是否需要加密(CBCharacteristicPropertyNotifyEncryptionRequired),這意味着您需要有一個可信連接(配對)才能訪問它。這和你現在要做的一樣接近。

當您第一次連接時,不應提示您配對,因此didFailToConnectPeripheral在這裏不起作用。只有在您嘗試讀取其中一個加密特徵後纔會提示您配對。因此,在提示用戶之前,您應該仍然知道是否首先檢查特性的屬性。

這從蘋果公司的Bluetooth Accessory Design Guidelines

附件不應該要求配對,直到ATT請求 使用不足驗證錯誤代碼拒絕。有關詳細信息,請參閱 藍牙4.0規範,第3卷,F部分,第4節。

如果,出於安全考慮,該附件需要與中央保稅關係 ,外圍應該拒絕使用 的不足驗證錯誤代碼ATT請求,如適當。作爲 的結果,Apple產品可能會執行必要的安全 程序。