当手机被锁定时,CoreBluetooth没有调用发现外围设备

时间:2017-08-15 09:28:44

标签: ios swift bluetooth-lowenergy ios10 core-bluetooth

我有一个iOS应用程序(swift)对自定义BLE设备做出反应。设备仅在单击时发送消息5秒钟。 该应用程序扫描该服务,但未连接到该设备。 当应用程序位于前台或后台时,它工作正常,但是当手机被锁定时(电源按钮被按下)则不行。 一切正常(iOS 10之前)。

代码段:

// Init centralManager
centralManager = CBCentralManager(delegate: self, queue: dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0))

...

// In centralManagerDidUpdateState
let arrayOfServices: [CBUUID] = [CBUUID(string:"0000****-0000-1000-8000-0080********")]
self.centralManager?.scanForPeripheralsWithServices(arrayOfServices, options: [CBCentralManagerScanOptionAllowDuplicatesKey: false])

我启用了后台模式:使用蓝牙LE配件。并且在我的.plist UIBackgroundModes中有蓝牙中心。

我已经阅读了大多数处理问题的stackoverflow帖子,如果他们的解决方案适合我,我会尝试。在Apple文档中也没有找到任何有用的问题。 我试过例如:

  • CBCentralManager队列为nil / mainqueue

  • scanForPeripheralsWithServices(零和不同选项)

任何人都知道这个问题的解决方法,所以我可以像以前一样工作吗?或者知道iOS 10中的一个变化阻止了它的工作?

0 个答案:

没有答案