我希望你理解我的英语技能并不好。 我正在使用CoreBluetooth开发应用程序。
我检查了一次运行应用程序后我可以在后台进行蓝牙工作(扫描,连接,获取服务)。 但是,我想知道在没有运行应用程序的情况下,在后台模式下是否可以进行CoreBluetooth通信。
例如,一旦在外围设备上启动测量,中央应用程序将检测它们并在后台模式下运行。
有可能吗? 对不起,没有代码。现在我没有方法可以启动它。
答案 0 :(得分:0)
我猜你要找的是CoreBluetooth State Preservation and Restoration。根据文件:
由于状态保存和恢复内置于Core Bluetooth,您的应用可以选择使用此功能,要求系统保留应用中央和外围管理器的状态,并继续代表他们执行某些与蓝牙相关的任务,即使你的应用程序不再运行。
当您选择进行状态恢复时,您的应用将重新启动到某些BLE相关事件的后台。特别是,它会跟踪以下内容:
- 中央管理员正在扫描的服务(以及扫描开始时指定的任何扫描选项)
- 中央管理员尝试连接或已连接到
的外围设备- 中央经理订阅的特征
请注意,当您的应用使用状态恢复和后台执行时,您可以执行的操作存在限制(您可能已经意识到这一点)。
希望有所帮助
P.S。:我们发现状态恢复仅在您的iOS设备未通过USB线连接到您的开发机器时才有效(现在可能与Xcode 9不同)。