我正在阅读“Performing Common Central Role Tasks",它有关于如何发现外围设备以及如何连接到外围设备的信息,但我似乎无法找到如何检查用户是否在弹出窗口中选择了取消或配对,因为弹出窗口出现在我调用 [myCentralManager connectPeripheral:peripheral options:nil];
。如果用户在“配对”弹出窗口上单击“取消”,我希望不要连接到(或断开)外围设备。我可以吗以其他方式调用配对弹出窗口?
最佳答案
配对过程是通过尝试读取/写入/通知需要加密的特征来启动的。
如果配对过程完成,则将调用适当的 CBPeripheralDelegate
方法(例如 didUpdateValueForCharacteristic:
)并返回零错误。
如果配对过程失败或被取消,则 CBPeripheralDelegate
方法将被调用,并带有一个 NSError 对象,指示“加密不足” - CBATTErrorInsufficientEncryption
。
如果您遇到加密不足的错误,您可以断开与外围设备的连接或重试操作,这将再次显示配对对话框。我建议您重试几次,比如 3 次,以防用户输入 PIN 码时出错。
关于ios - 与蓝牙设备配对的用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27985216/