大多数时候,我们正在编写的应用程序与我们的 BLE 外围设备配合得很好。对于 iPhone 5S 用户,设备经常会出现问题,每当我们扫描服务时,didDiscoverServices:
委托(delegate)方法永远不会被调用。重启设备或删除所有设置(常规 -> 重置 -> 重置所有设置)可暂时解决问题。
一旦设备出现此问题,甚至其他应用程序(例如 LightBlue)也会受到影响;在重新启动之前,任何外围设备都无法发现服务。
就上下文而言,我们的 BLE 外设目前不支持配对。
是什么导致了这个问题?有什么方法可以避免造成不稳定?一旦发生这种情况,应用程序是否可以自动从中恢复?
具有类似症状的一些问题:App doesn't Discover Services When Reconnecting和 Not Scanning for Services in iPad Air
更新:仅供引用,我仍在解决这个问题,但某些我们确实导致它发生的次数减少了(因此它不是真正的优先 ATM)。我还不知道是什么导致了增加的稳定性。
最佳答案
这可能是 iOS 的一个错误
1) 在您的设备上启用蓝牙日志记录 https://developer.apple.com/bug-reporting/ios/bluetooth/
2) 使用包嗅探器观察iOS和BLE外设之间的连接
关于ios - CoreBluetooth 从不调用 iPhone 5S 上的发现服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23435809/