缓存蓝牙连接iOS

问题描述:

我是iOS的新手蓝牙开发者。我已经使用CoreBluetooth和CBCentralManager将我的iOS设备成功连接到外部蓝牙4.0(BLE)设备。缓存蓝牙连接iOS

但是,每次我退出应用程序或关闭它时,我都会失去连接,下次打开应用程序时,我必须重新执行所有初始步骤以重新连接。

所以我的问题是,如何“缓存”iOS端的蓝牙连接?也许缓存不是正确的术语,我只是在第一次将iOS应用程序连接到外部蓝牙设备后寻找一种方法来记住连接。

谢谢!

听起来好像有在这里打球是两种可能的因素:

如果你想蓝牙连接来维持生命(和继续投放广告,如果你使用CBPeripheralManager)后

1)背景模式关闭应用程序,则需要将bluetooth-centralbluetooth-peripheral背景模式添加到Info.plist文件中。有关蓝牙背景模式的更多信息,请参阅here

鉴于您在iOS端使用CBCentralManager提到的情况,您的情况下适当的背景模式为bluetooth-central

2)状态恢复

两个CBCentralManagerCBPeripheralManager有一个初始化选项,允许你指定一个标识符恢复。对于CBCentralManager,您可以将包含密钥CBCentralManagerOptionRestoreIdentifierKey的唯一标识符的字典传递到-initWithDelegate:queue:options的选项参数中。

然后,当您的应用程序在后台重新启动时,您只需要用先前指定的恢复标识符重新实例化CBCentralManager实例即可恢复以前的状态。有关州恢复的更多信息,请参阅same document