DAN*_*DAN 16 ios core-bluetooth bluetooth-lowenergy cbcentralmanager ibeacon
使用带有CoreBluetooth的BLE(没有iBeacon),有没有办法在设备收到蓝牙信号时唤醒应用程序未运行的应用程序?
我正在使用redbearlab的BLE Shield(http://redbearlab.com/bleshield/)模拟一个灯塔.
谢谢,DAN
*更新03/05/14*
看起来苹果已经推出了iOS 7.1的主要更新:现在,如果iOS检测到与您的应用匹配的UUID,它将为您打开应用.该应用程序只需要安装,它不必运行(AppDelegate中的逻辑需要响应唤醒呼叫).
如果应用程序在后台运行然后关闭(我的意思是终止 - 由于来自其他应用程序的内存压力,当你双击主页按钮时,你不再在后台应用程序列表中看到它),那么iOS将会在调用委托时(假设您在.plist中列出了后台模式),请注意将其唤醒.
如果应用程序在后台运行,然后由用户关闭(我的意思是终止.所以用户双击以获取在后台运行的应用程序列表,然后在后台列表中单击您的应用程序,直到它摆动并且然后按下应用旁边的'x'来杀死它)然后这清楚地表明用户不希望应用程序在后台运行,并且应用程序将不会重新启动.用户必须重新启动应用程序,以便其代表在后台重新开始运行(iOS7中的新功能).
更新:我不确定这是否在文档中,但它在CoreBluetooth WWDC 2013视频中.我建议你看.他们花了很多关于CoreBluetooth在后台表现的视频.
小智 5
据我了解,如果您的应用程序之前未与 BLE 外设连接,则不会。
如果您的应用程序之前已与 BLE 外设连接,则使用:
-connectPeripheral:选项
连接请求不会超时。调用此方法的最佳位置是当您的应用程序失去与 BLE 外设的连接时。当您在 CBCentralManagerDelegate 协议中失去与外围设备的连接时,您将收到通知:
-centralManager:didDisconnectPeripheral:错误
因此,下次您的应用程序进入 BLE 外设的范围时,它将触发此方法。另请注意,在初始化 CBCentralManager 时,您需要设置状态保存和恢复。
归档时间: |
|
查看次数: |
19589 次 |
最近记录: |