在iOS 12上的后台运行时,BLE应用程序已挂起

时间:2019-05-07 12:57:57

标签: bluetooth-lowenergy ios12 ios-background-mode

背景

我有一个iOS应用程序,可在后台扫描BLE设备。在我更新到iOS12之前,它一直运行良好。这就是我所拥有的:

  1. 已将应用配置为在后台运行(例如,.plist中的位置和蓝牙中心键)
  2. 应用程序应该在后台连续运行,以扫描外围设备。请勿将其与“后台获取”混淆,后者是另一种用例。
  3. 应用程序连接到外围设备。它只读取广告包。
  4. 应用程序在后台运行了几个小时后被暂停。
  5. 应用程序进入前台后将恢复正常运行
  6. 应用程序在iOS 11中正常运行。更新到iOS 12.x后开始出现问题。

我将日志消息放置在App Delegate方法中。我看到的最后一件事是应用程序进入后台状态。我从未见过对applicationWillTerminate()的调用,因为只有在应用程序位于前景中时才会调用。

我已经看到其他帖子(例如iOS 12 terminates apps in the background for no reason)与“位置”堆栈有类似的行为。使用帖子作者编写的测试应用程序,我验证了此问题已在iOS 12中解决了位置服务问题。但是BLE问题仍然存在。

有人找到解决此问题的方法吗?

提前谢谢。

0 个答案:

没有答案