如何从BLE设备控制iOS应用程序进行后台处理,而无需将应用程序放在前端

如何从BLE设备控制iOS应用程序进行后台处理,而无需将应用程序放在前端,ios,ios7,bluetooth,bluetooth-lowenergy,core-bluetooth,Ios,Ios7,Bluetooth,Bluetooth Lowenergy,Core Bluetooth,我正在开发一个支持蓝牙低能量(BLE)的DSLR(数码相机)控制器,它可以接收GPS坐标并允许远程对焦/快门控制 在理想情况下,我不必从口袋里拿出iPhone。 我的相机一打开,BLE设备就会连接,如果尚未启动应用程序,则应启动该应用程序。当相机关闭时,BLE断开连接,应用程序应进入睡眠模式(停止更新位置并通过BLE发送数据)(请注意,此时应用程序可能在后台)。当相机再次关闭时(当应用程序处于后台/iphone锁定状态时),应用程序应重新连接并开始更新位置并向BLE接收器发送数据 这有很多问题要

我正在开发一个支持蓝牙低能量(BLE)的DSLR(数码相机)控制器,它可以接收GPS坐标并允许远程对焦/快门控制

在理想情况下,我不必从口袋里拿出iPhone。 我的相机一打开,BLE设备就会连接,如果尚未启动应用程序,则应启动该应用程序。当相机关闭时,BLE断开连接,应用程序应进入睡眠模式(停止更新位置并通过BLE发送数据)(请注意,此时应用程序可能在后台)。当相机再次关闭时(当应用程序处于后台/iphone锁定状态时),应用程序应重新连接并开始更新位置并向BLE接收器发送数据

这有很多问题要问,可能太好了以至于不可能是真的,但这有可能吗?
(iOS 7+SDK还可以)

您可以在后台作为蓝牙LE central(扫描外围设备)运行-请参阅,但是,在后台,外围设备扫描和检测可能不会像应用程序在前台时那样快

当检测到外围设备时,你的应用程序可以发布本地通知,用户可以响应此通知将你的应用程序启动到前台,但在没有用户交互的情况下,你无法强制你的应用程序进入前台。即使你的应用程序在后台,你也可以通过BLE向相机发送信息,你也可以在后台接收位置信息-请参阅核心位置编程指南


断开连接是直接进行的。当检测到断开连接时,您可以关闭位置服务以节省电池电量。

如果我的应用程序可以在后台连接并发送数据(包括在连接/断开连接时控制启动/停止更新位置),我不需要将应用程序启动到前台。如果应用程序完全退出,并且相机打开,然后会显示启动应用程序的通知,则该应用程序是完美的。非常感谢您的确认。在开始编程之前,我将阅读CB编程指南。