iOS BLE连接后立即断开,只有重新启动设备才有帮助



我的应用程序使用BLE(蓝牙4)连接到物理外设。我和我的用户都反复遇到过这样一个问题:在某个时候,应用程序停止连接到外设——你可以看到一个指示,表明发现了BLE外设并建立了连接,但几秒钟后,连接就断开了。

设备重启后才能恢复正常。

我做了很长时间的检查,并彻底研究了这个问题,直到我得出结论,这一定是iOS的一个bug(在7.1测试,但可能在8.0也会发生)。

我的测试和发现:

  • 在所有支持BLE的设备中发生。
  • 发生在我自己的BLE外设和其他第三方BLE产品上,在正常情况下都可以完美工作。
  • 有时甚至可以运行50次,但最终它会失败。
  • 网络,重置出厂设置无效
  • 在各种应用程序中测试和发生:##
    • 我自己的应用。
    • 清洁新的Xcode项目,只扫描外设,并试图连接到第一个和唯一发现的外设。
    • Apple的BLE示例应用:健康温度计(由于我没有这个特定的外围设备,因此进行了相关修改)。
  • 第三方应用程序,包括通用的LightBlue。
  • 重要提示:上面的每一个选项都完美地工作了一段时间(多次启动),在某个时候突然停止,然后在重新启动设备后再次工作。
  • 连接过程在试图发现外设的服务时似乎失败-即它被发现并正常连接,但当启动服务发现时,它停止响应(didDiscoverServices未被调用)。
  • 我当然尝试了很多在网上找到的方法,但没有运气。

    谁能解释一下这个问题?

    • 是否已知问题?
    • 在最近的iOS更新中修复了吗?
  • 会被修复吗?
  • 你可以想象这样的问题对我的用户体验的负面影响,因为BLE连接对产品至关重要。

    我很感激你对如何解决这个问题的意见和建议。

    谢谢!

    更新:

    Apple回应我的技术支持请求:

    底线(s):

    • 他们说他们已经修复了iOS 8中一些与BLE相关的bug,并敦促我们测试一下是否在iOS 8中仍然存在。
    • 他们说从这个开始,如果没有,试着用他们提供的实用程序来诊断问题。

    到目前为止,对我来说,iOS 8还没有出现这种情况,但另一方面,我可以看到关于其他蓝牙问题的帖子,这些问题不一定相关,但谁知道呢。

    完整的答案:

    我是在回应你的发现,你和你的客户发现了这一点在某些使用点之后,iOS BLE无法保持连接。你表明这个问题是在iOS 7.1中发现的。已经有了关于iOS BLE的问题,已经报告并已修复iOS 8.0。为了最好地确定您的问题是否已得到解决,当然,最简单的方法是安装iOS 8,然后看看是否这个问题可以被复制。然而,正如你报告的那样,你可以首先用iOS 7.1在你的设备上复制这个问题获取蓝牙服务器配置文件,并将其安装到您的设备,复制问题,然后获取BLE服务器日志问题发生。该配置文件将附加BLE服务器报告日志记录的详细信息,可以帮助报告问题,服务器邂逅。我们可以看看这个问题是不是已经报告过的问题之前。需要考虑的是所有新bug报告问题,核心蓝牙工程要求所有的问题与当前发布的iOS版本(即8.0)进行了回归。对于使用iOS 7的用户。那么iOS 7就不会再更新了iOS 8将会进行软件修复和bug修复。因为这个原因,只有我们将对iOS 8中出现的问题进行调查。你可以从Apple Developer bug报告web获取BLE服务器配置文件页面https://developer.apple.com/bug-reporting/ios/bluetooth/。的安装概要文件和捕获日志的说明如下呈现在网页上。如果你用iOS 7捕获日志。X,你可以发给我审阅一下。然而,这将是一个学术练习-了解iOS是否解决了这个问题,或者它是否,我们需要看看这个问题是否会在iOS 8中出现。需要记住的是,一旦你把设备升级到iOS 8,你就会无法将其恢复到以前的版本。我很乐意回顾你的结果。然而,如果这个问题在iOS 8下仍然存在,最好提交一个bug报告来获得核心蓝牙工程师的支持注意这件事。你可以使用Apple提交错误报告开发者bug报告网页。——http://bugreport.apple.com

    看来这个问题在最近的iOS更新(要么是8.0要么是8.1)中得到了解决。

    相关内容

    • 没有找到相关文章

    最新更新