iOS 8.1 中的 BLE 后台模式
Posted
技术标签:
【中文标题】iOS 8.1 中的 BLE 后台模式【英文标题】:BLE background mode in iOS 8.1 【发布时间】:2014-10-29 11:13:53 【问题描述】:我一直在研究通过 BLE 接收健康数据的应用程序。它在后台正常工作,并在特定条件下发送通知。 不幸的是,当我安装 ios 8.1 时出现了问题。它不会在后台触发 peripheral:didUpdateValueForCharacteristic。当我将应用程序返回前台时 - 它会正确接收数据。
在 Info.plist -> UIBackgroundModes bluetooth-central 添加。
我的测试表明,在 8.0 中它仍然可以工作。
【问题讨论】:
我的设备更新到 iOS 8.1 后收到后台通知。您的问题可能与国家保护和恢复有关吗? 【参考方案1】:我创建了要在 AppDelegate.sharedInstance 中使用的蓝牙管理器。
BLEManager 的初始化是在 init
的 AppDelegate 中进行的,应该在 ApplicationDidFinishLaunchingWithOptions
中完成。
移动其初始化后,它开始工作。 iOS 行为有时是未知的。更好地在应用加载并准备就绪时初始化您的管理器!
【讨论】:
哇,你救了我几天的脑袋!谢谢你!!我有一个初始化蓝牙管理器的静态方法,但为时过早并将其移至ApplicationDidFinishLaunchingWithOptions
并且后台模式开始工作。谢谢谢谢!!以上是关于iOS 8.1 中的 BLE 后台模式的主要内容,如果未能解决你的问题,请参考以下文章
Cordova:在后台模式下扫描 iBeacons / BLE(iOS 和 Android)