当应用程序在后台扫描蓝牙连接外设时
When app in Background scan Bluetooth connecting peripherals
iOS 11: App在后台时CBCentralManager委托方法didDiscoverPeripheral、didConnectPeripheral、didFailToConnectPeripheral、didDisconnectPeripheral没有被调用。
核心蓝牙后台执行模式。
如果您的应用需要 运行 在后台执行某些与蓝牙相关的任务,它必须在其信息 属性 列表中声明它支持核心蓝牙后台执行模式 (Info.plist) 文件。
当您的应用声明此内容时,系统会将其从挂起状态唤醒,以允许其处理与蓝牙相关的事件。这种支持对于与定期传输数据的蓝牙低功耗设备交互的应用程序非常重要,例如心率监测器。
应用程序可以声明两种核心蓝牙后台执行模式——一种用于实现中心角色的应用程序,另一种用于实现外围角色的应用程序。如果您的应用实现了这两种角色,它可能会声明它支持两种后台执行模式。通过将 UIBackgroundModes 键添加到 Info.plist 文件并将键的值设置为包含以下字符串之一的数组来声明核心蓝牙后台执行模式:
1) bluetooth-central - 该应用程序使用核心蓝牙框架与蓝牙低功耗外围设备通信。
2) bluetooth-peripheral——应用程序使用核心蓝牙框架共享数据。
遵循 Apple 开发者文档 link。
更新:
蓝牙外设后台执行模式
要在后台执行某些外设角色任务,您必须在应用的 Info.plist 文件中包含 UIBackgroundModes 键和蓝牙外设值。当此键值对包含在应用程序的 Info.plist 文件中时,系统会唤醒您的应用程序以处理读取、写入和订阅事件。
除了允许您的应用程序被唤醒以处理来自连接中心的读取、写入和订阅请求之外,Core Bluetooth 框架还允许您的应用程序在后台状态下进行广告。
也就是说,您应该知道,当您的应用程序在后台投放广告时,其运行方式与您的应用程序在前台运行时不同。特别是当您的应用在后台播放广告时。
可能对你有用!!
iOS 11: App在后台时CBCentralManager委托方法didDiscoverPeripheral、didConnectPeripheral、didFailToConnectPeripheral、didDisconnectPeripheral没有被调用。
核心蓝牙后台执行模式。
如果您的应用需要 运行 在后台执行某些与蓝牙相关的任务,它必须在其信息 属性 列表中声明它支持核心蓝牙后台执行模式 (Info.plist) 文件。
当您的应用声明此内容时,系统会将其从挂起状态唤醒,以允许其处理与蓝牙相关的事件。这种支持对于与定期传输数据的蓝牙低功耗设备交互的应用程序非常重要,例如心率监测器。
应用程序可以声明两种核心蓝牙后台执行模式——一种用于实现中心角色的应用程序,另一种用于实现外围角色的应用程序。如果您的应用实现了这两种角色,它可能会声明它支持两种后台执行模式。通过将 UIBackgroundModes 键添加到 Info.plist 文件并将键的值设置为包含以下字符串之一的数组来声明核心蓝牙后台执行模式:
1) bluetooth-central - 该应用程序使用核心蓝牙框架与蓝牙低功耗外围设备通信。
2) bluetooth-peripheral——应用程序使用核心蓝牙框架共享数据。
遵循 Apple 开发者文档 link。
更新:
蓝牙外设后台执行模式 要在后台执行某些外设角色任务,您必须在应用的 Info.plist 文件中包含 UIBackgroundModes 键和蓝牙外设值。当此键值对包含在应用程序的 Info.plist 文件中时,系统会唤醒您的应用程序以处理读取、写入和订阅事件。
除了允许您的应用程序被唤醒以处理来自连接中心的读取、写入和订阅请求之外,Core Bluetooth 框架还允许您的应用程序在后台状态下进行广告。
也就是说,您应该知道,当您的应用程序在后台投放广告时,其运行方式与您的应用程序在前台运行时不同。特别是当您的应用在后台播放广告时。
可能对你有用!!