gpt4 book ai didi

ios - iOS什么时候显示 "need to bond"对话框?

转载 作者:行者123 更新时间:2023-11-29 11:36:10 24 4
gpt4 key购买 nike

我正在编写一个与我们正在开发的 BLE 设备通信的 iOS 应用程序。大多数通信不需要绑定(bind),但有一些安全功能需要绑定(bind)。我已将这些安全功能放在一个单独的服务中,该服务已被标记为需要绑定(bind),当我尝试访问该服务时,iOS 会正确启动绑定(bind)过程。

我遇到的问题是,我希望能够准确控制这种绑定(bind)发生的时间,以便我可以适本地设计我的 UI。大多数时候,iOS 在开始绑定(bind)过程之前会一直等到我尝试访问安全服务,但我也看到绑定(bind)对话框出现在我调用 CBPeripheral.DiscoverCharacteristics() 之后不久,并且在我实际使用安全服务之前很久任何事物。如果我在已经绑定(bind)一次然后删除 iOS 和远程 BLE 设备中的绑定(bind)后重新运行应用程序,绑定(bind)对话框似乎会稍后出现。

我猜 iOS 正在缓存服务/特征信息,所以在我调用 CBPeripheral.DiscoverCharacteristics() 的第一次连接后,它实际上并没有与远程 BLE 设备通信,因此不会触发绑定(bind)的需要.

有一个 discussion关于如何清除 OSX 上的蓝牙缓存,但 iOS 没有类似内容。我试过这个:

  1. 在 iOS 中取消绑定(bind)设备
  2. 关闭蓝牙
  3. 关闭 iPad
  4. 重新打开 iPad
  5. 重新打开蓝牙

但是绑定(bind)请求对话框仍然稍后出现,我猜这意味着缓存实际上没有被清除。

最佳答案

如果设备未绑定(bind)并且外围设备发送 SMP“安全请求”,它将显示弹出窗口。

当您尝试与 protected 特征进行交互时,它也会显示它。

关于ios - iOS什么时候显示 "need to bond"对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49199965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com