ios - CoreBluetooth 从不调用 iPhone 5S 上的发现服务

标签 ios iphone bluetooth-lowenergy core-bluetooth

大多数时候,我们正在编写的应用程序与我们的 BLE 外围设备配合得很好。对于 iPhone 5S 用户,设备经常会出现问题,每当我们扫描服务时,didDiscoverServices: 委托(delegate)方法永远不会被调用。重启设备或删除所有设置(常规 -> 重置 -> 重置所有设置)可暂时解决问题。

一旦设备出现此问题,甚至其他应用程序(例如 LightBlue)也会受到影响;在重新启动之前,任何外围设备都无法发现服务。

就上下文而言,我们的 BLE 外设目前不支持配对。

是什么导致了这个问题?有什么方法可以避免造成不稳定?一旦发生这种情况,应用程序是否可以自动从中恢复?

具有类似症状的一些问题:App doesn't Discover Services When ReconnectingNot 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/

相关文章:

bluetooth - 氟化物蓝牙堆栈的文档

Android 蓝牙 LE 错误 : Failed to register callback

android - Android 9 上的过滤扫描不会使用 UUID 过滤器找到信标

ios - 仅视网膜设备的图像名称?

ios - 无法编辑屏幕截图,performChanges block 失败

iphone - cocoa - 连接 :didFailWithError error codes

ios - UITableView 以编程方式在 UIScrollView 内部不调用委托(delegate)方法

ios - 如何在 Swift 中迭代带有时间延迟的循环

ios - iOS-后退按钮IOS6 vs IOS7

ios - block 可以用作委托(delegate)的替代品吗?