iOS CoreBluetooth:有没有办法在不显示 iOS 上的警报视图的情况下进行 JustWorks 配对?
iOS CoreBluetooth: Is there a way to do JustWorks pairing without showing the alert view on iOS?
我正在使用我的 iPhone 作为中央设备并连接到外围设备以读取受保护的特性。
在我的场景中,对于配对,中央 (iPhone) 有键盘和显示器,外围设备没有输入也没有输出功能。
这会强制 Central (iPhone) 执行 Just Works 配对。
根据维基百科- "Just works: As the name implies, this method just works, with no user interaction. However, a device may prompt the user to confirm the pairing process."
不幸的是,在 iOS 设备上,BLE 堆栈会自动弹出警报视图以提示用户确认或取消配对过程,因此至少在第一次需要用户干预时(据我所知,此警报视图是由 iOS BLE 堆栈生成的,我们无法阻止它从应用程序编程级别出现)。
我的问题是 - 有没有一种方法可以使此警报视图静音,以便在没有任何用户干预的情况下完成配对?
我 运行 iOS8.3 iPhone6.
正如您所注意到的,在 iOS 上尝试使用 Core Bluetooth 读取加密特征会触发绑定过程。 Just Works 需要绑定的 Core Bluetooth 不支持配对。仅支持密钥配对。
你基本上有两个选择:
- 删除加密要求
- 接受将显示配对对话框并提供固定 PIN 或带外机制(例如设备上的贴纸)
这就是 'Just Works' 在 iOS 上的表现。正如您所指出的,它删除了密钥要求,但没有删除用于绑定的用户交互步骤。
接受的答案不正确,因为不需要密钥,而且没有 public Apple API 用于带外绑定。这个答案更详细地介绍了它;
我正在使用我的 iPhone 作为中央设备并连接到外围设备以读取受保护的特性。
在我的场景中,对于配对,中央 (iPhone) 有键盘和显示器,外围设备没有输入也没有输出功能。
这会强制 Central (iPhone) 执行 Just Works 配对。
根据维基百科- "Just works: As the name implies, this method just works, with no user interaction. However, a device may prompt the user to confirm the pairing process."
不幸的是,在 iOS 设备上,BLE 堆栈会自动弹出警报视图以提示用户确认或取消配对过程,因此至少在第一次需要用户干预时(据我所知,此警报视图是由 iOS BLE 堆栈生成的,我们无法阻止它从应用程序编程级别出现)。
我的问题是 - 有没有一种方法可以使此警报视图静音,以便在没有任何用户干预的情况下完成配对?
我 运行 iOS8.3 iPhone6.
正如您所注意到的,在 iOS 上尝试使用 Core Bluetooth 读取加密特征会触发绑定过程。 Just Works 需要绑定的 Core Bluetooth 不支持配对。仅支持密钥配对。
你基本上有两个选择:
- 删除加密要求
- 接受将显示配对对话框并提供固定 PIN 或带外机制(例如设备上的贴纸)
这就是 'Just Works' 在 iOS 上的表现。正如您所指出的,它删除了密钥要求,但没有删除用于绑定的用户交互步骤。
接受的答案不正确,因为不需要密钥,而且没有 public Apple API 用于带外绑定。这个答案更详细地介绍了它;