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

时间:2014-09-21 12:39:12

标签: ios objective-c bluetooth-lowenergy core-bluetooth ios-bluetooth

我的应用使用BLE(蓝牙4)连接到物理外设。 我的用户和我一再遇到一个错误,在某些时候,应用程序停止连接到外围设备 - 您可以看到发现BLE外围设备并建立连接的指示,但几秒钟之后,连接被丢弃

只有在重新启动iDevice后,事情才会恢复正常。

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

我的测试和发现:

  • 每个支持iDevice的BLE都会发生。
  • 与我自己的BLE外围设备和其他第三方BLE产品一起发生,这些产品在正常情况下都可以正常工作。
  • 有时甚至可以在50次发布时运行良好,但最终它会失败。
  • 网络&出厂设置重置没有帮助。
  • 经过各种应用测试和发生:##
    • 我自己的应用。
    • 清理新的Xcode项目,该项目仅扫描外围设备并尝试连接到第一个也是唯一一个发现的外围设备。
    • Apple的BLE示例应用程序:Health Thermometer(由于我没有此特定外设,因此进行了相关修改)。
    • 第三方应用,包括通用LightBlue
    • 重要说明:上述每个选项都可以完美地工作一段时间(多次启动),在某些时候突然停止,然后在重启设备后再次工作。
  • 尝试发现外围设备的服务时连接过程似乎失败 - 即它被正常发现并连接,但是当启动服务发现时,它停止响应(没有调用发现服务)。
  • 我当然尝试了许多在线发现但没有运气的方法。

有人能解释一下这个问题吗?

  • 这是一个已知问题吗?
  • 是否在最近的iOS更新中修复了?
  • 它会被修复吗?

您可以想象这样的问题对我的用户体验产生的负面影响,因为BLE连接对于产品至关重要。

我非常感谢您就如何解决问题提出建议和意见。

谢谢!

更新

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

底线:

  • 他们说他们在iOS 8中修复了一些与BLE相关的错误,并敦促我们测试它是否仍然在iOS 8中发生。
  • 他们说要从那开始,如果没有,尝试使用他们提供的实用程序应用来诊断问题。

到目前为止,iOS 8并没有发生这种情况,但另一方面,我可以看到有关other Bluetooth issues的帖子,not necessarily related但是谁知道。

完整答案:

  

我回应你的发现,你和你的客户都发现了这一点   在某些使用点之后,iOS BLE无法保持连接。您   表明问题已通过iOS 7.1识别出来。有过   有关已报告并已修复的iOS BLE的问题   使用iOS 8.0。为了最好地确定您的问题是否得到解决,   当然最简单的方法是安装iOS 8并查看是否   这个问题可以复制。但是,正如您所报道的那样   首先用iOS 7.1复制你的deivce上的问题   将获得蓝牙服务器配置文件,安装到您的   deivce,复制问题,然后获取BLE服务器日志   出现问题。该配置文件将具有额外的BLE服务器报告   记录详细信息,可以帮助报告服务器的问题   遭遇。我们可以看到问题是否已报告   先前。要考虑的是所有新的bug报告   问题,核心蓝牙工程正在要求所有问题   使用当前发布的iOS版本 - 即8.0。   对于使用iOS 7.x的客户,将不再有iOS 7更新 - 全部   软件修复和错误修复将在iOS 8中使用。仅此而已   将调查iOS 8报告的问题。您可以   从Apple Developer错误报告Web获取BLE服务器配置文件   第https://developer.apple.com/bug-reporting/ios/bluetooth/页。该   安装配置文件和捕获日志的说明是   在网页上显示。如果您使用iOS 7.x捕获日志,则可以   发给我审查。但是,这有点像   学术练习 - 了解iOS是否解决了问题,或者是否解决了问题   坚持下去,我们需要看看问题是否发生在iOS 8下。   需要注意的是,一旦你将设备更新到iOS 8,你就会   无法将其还原到以前的版本。我很高兴   检查您的结果。但是,如果问题仍然存在于iOS 8下,   最好提交错误报告以获得Core Bluetooth工程   关注此事。您可以使用Apple提交错误报告   开发人员错误报告网页。 - http://bugreport.apple.com

1 个答案:

答案 0 :(得分:0)

所以看起来问题是通过最近的iOS更新(8.0或8.1)解决的。