我有一个iOS应用程序通过BLE连接到外围设备。我可以在应用程序进入后台时立即取消连接,或者在iOS挂起应用程序之前保持连接处于活动状态。
是否有一种程序化方法可以在短时间内保持连接处于活动状态,但要确保在一定时间内(例如60秒后)断开连接以最大限度地减少电池影响并使外围设备可用于其他iOS设备?
答案 0 :(得分:3)
首先,要使BLE连接在后台运行,请通过将以下密钥添加到info.plist来请求后台模式:Required background modes
(数组)。将App communicates using CoreBluetooth
项添加到此数组。
其次,在AppDelegate的applicationDidEnterBackground
中激活一个调用实现[CBCentralManager cancelPeripheralConnection]
的方法的计时器逻辑