缓存蓝牙连接iOS
我是iOS的新手蓝牙开发者。我已经使用CoreBluetooth和CBCentralManager
将我的iOS设备成功连接到外部蓝牙4.0(BLE)设备。缓存蓝牙连接iOS
但是,每次我退出应用程序或关闭它时,我都会失去连接,下次打开应用程序时,我必须重新执行所有初始步骤以重新连接。
所以我的问题是,如何“缓存”iOS端的蓝牙连接?也许缓存不是正确的术语,我只是在第一次将iOS应用程序连接到外部蓝牙设备后寻找一种方法来记住连接。
谢谢!
听起来好像有在这里打球是两种可能的因素:
如果你想蓝牙连接来维持生命(和继续投放广告,如果你使用CBPeripheralManager
)后
1)背景模式关闭应用程序,则需要将bluetooth-central
或bluetooth-peripheral
背景模式添加到Info.plist文件中。有关蓝牙背景模式的更多信息,请参阅here。
鉴于您在iOS端使用CBCentralManager
提到的情况,您的情况下适当的背景模式为bluetooth-central
。
2)状态恢复
两个CBCentralManager
和CBPeripheralManager
有一个初始化选项,允许你指定一个标识符恢复。对于CBCentralManager
,您可以将包含密钥CBCentralManagerOptionRestoreIdentifierKey
的唯一标识符的字典传递到-initWithDelegate:queue:options
的选项参数中。
然后,当您的应用程序在后台重新启动时,您只需要用先前指定的恢复标识符重新实例化CBCentralManager
实例即可恢复以前的状态。有关州恢复的更多信息,请参阅same document。