当蓝牙设备靠近时唤醒iOS应用程序

我在后台运行核心蓝牙扫描设备。 它工作正常,几乎停止时,我手动退出应用程序。 苹果公司的文件指出,应用程序有时可以被外设唤醒,这可能会使其从暂停状态约10秒左右,做一些操作,然后再回到暂停状态。

来源: https : //developer.apple.com/library/IOs/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html

为了这个工作,外设需要已经“连接”,以唤醒应用程序? 或者任何新的(未被发现的)外设唤醒应用程序?

你的应用程序将只被唤醒的外围事件(连接/断开等)。 但是,如果用户select强制closures应用程序(在iOS 7中刷新),则应用程序不会为这些事件而启动。 iOS系统将删除您,直到用户再次手动打开您的应用程序。

为了订阅这些外设唤醒事件,你需要在启动你的pipe理器的时候传入一个NSDictionary和适当的恢复选项。 您在上面的问题中提供的链接中提供了确切的细节。

至于你的最后一个问题:不,扫描,然后find一些外设不会在后台唤醒你的应用程序。 它只适用于预先指定的外围设备。