我有一个需要PIN码的BLE外设。 我在iOS 7上使用Core Bluetooth CBCentralManager连接到此外围设备。
当我连接到此外围设备时,' didConnectPeripheral' (中央代表)在成功完成PIN码验证之前被称为。
iOS仅在' didConnectPeripheral'之后显示针脚代码对话框被称为。
完成此PIN码对话框并完成身份验证过程后,我需要开始与外围设备进行交互。如何确定何时发生这种情况?
挑战是仅在认证成功后继续,但是:
从上面来看,我一直无法确定:
任何帮助都将不胜感激。
答案 0 :(得分:1)
根据我对CoreBluetooth的使用经验,您不会收到任何关于您是否获得授权以及何时完成密码授权的信息,直到您尝试未经授权的操作,这将导致三个错误响应之一失败:
InsufficientEncryption
InsufficientAuthentication
InsufficientAuthorization
外围设备决定了您将返回哪个错误。 (从技术上讲,它们是由GATT在BLE 4.X规范中定义的,但它是在外围端控制的所有实现细节)