如何使用蓝牙信号(BLE)唤醒iOS应用程序

使用带有CoreBluetooth(没有iBeacon)的BLE,当设备接收到蓝牙信号时,是否有一种方法来唤醒应用程序不运行的应用程序?

我正在用redbearlab的BLE Shield(http://redbearlab.com/bleshield/)模拟一个灯塔.

谢谢,

*更新03/05/14 *

看起来苹果已经介绍了iOS 7.1的主要更新:如果iOS会检测到与您的应用程序相匹配的UUID,那么iOS会为您打开您的应用程序.该应用程序只需要安装,它不需要运行(AppDelegate中的逻辑需要应答唤醒呼叫).

解决方法

如果应用程序在后台运行,然后关闭(我的意思是这里终止 – 当您双击主页按钮时,您不会再看到背景应用程序列表),由于其他应用程序的内存压力,则iOS将当委托被调用时(假设您有.plist中列出的背景模式),请重新唤醒它.

如果应用程序在后台运行,然后由用户关闭(再次我的意思是这里终止,所以用户双击获取后台运行的应用程序列表,然后在后台列表中单击您的应用程序,直到它摆动,然后按下应用程序旁边的“x”来杀死它),那么这是一个明确的指示,表示用户不希望应用程序在后台运行,该应用程序将不会重新启动.用户必须重新启动该应用程序以使其代理在后台再次启动(iOS7中为新功能).

更新:我不知道这是否在文档中,但它是在CoreBluetooth WWDC 2013视频.我建议你看看.他们花了很大一部分的视频来了解CoreBluetooth在后台的行为.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...