没有运行应用程序,CoreBluetooth无法通信?

时间:2017-06-12 07:01:45

标签: ios swift3 bluetooth-lowenergy core-bluetooth ios-bluetooth

我希望你理解我的英语技能并不好。 我正在使用CoreBluetooth开发应用程序。

我检查了一次运行应用程序后我可以在后台进行蓝牙工作(扫描,连接,获取服务)。 但是,我想知道在没有运行应用程序的情况下,在后台模式下是否可以进行CoreBluetooth通信。

例如,一旦在外围设备上启动测量,中央应用程序将检测它们并在后台模式下运行。

有可能吗? 对不起,没有代码。现在我没有方法可以启动它。

1 个答案:

答案 0 :(得分:0)

我猜你要找的是CoreBluetooth State Preservation and Restoration。根据文件:

  

由于状态保存和恢复内置于Core Bluetooth,您的应用可以选择使用此功能,要求系统保留应用中央和外围管理器的状态,并继续代表他们执行某些与蓝牙相关的任务,即使你的应用程序不再运行。

当您选择进行状态恢复时,您的应用将重新启动到某些BLE相关事件的后台。特别是,它会跟踪以下内容:

  
      
  • 中央管理员正在扫描的服务(以及扫描开始时指定的任何扫描选项)
  •   
  • 中央管理员尝试连接或已连接到
  • 的外围设备   
  • 中央经理订阅的特征
  •   

请注意,当您的应用使用状态恢复和后台执行时,您可以执行的操作存在限制(您可能已经意识到这一点)。

希望有所帮助

P.S。:我们发现状态恢复仅在您的iOS设备未通过USB线连接到您的开发机器时才有效(现在可能与Xcode 9不同)。