为什么在使用 CoreBluetooth 时会发生这种情况?

问题描述

我制作了一个演示 iOS 应用程序,通过它我可以跟踪附近的 BLE 设备,以及当我在此方法中接到电话时

centralManager:diddiscoverPeripheral:advertisementData:RSSI

我使用找到的外围设备的信息创建本地通知。当我的应用程序处于前台状态时,这工作正常。但是然后杀死了应用程序并且什么也不做。当应用程序没有运行时,突然间我收到了本地通知。我读到 CoreBluetooth 无法从未运行状态唤醒 iOS 应用程序。这怎么可能?这种情况不是连续发生的,但有时会发生。

解决方法

Core Bluetooth 可以唤醒(甚至启动)iOS 应用程序。我不确定谁告诉你它不能。这是一个非常重要的特性。也许您的意思是您没想到它会启动一个被强制退出的应用程序?通常这是真的,但系统可能会也可能不会从其观察者列表中删除您的应用程序。它不保证您在强制退出后不会重新启动。