缓存蓝牙连接iOS

Ted*_*y13 2 iphone bluetooth objective-c ios core-bluetooth

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

但是,每次我退出应用程序或关闭它或其他什么时,我都会丢失连接,下次应用程序打开时,我必须重做所有初始步骤以便重新连接.

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

谢谢!

ind*_*gie 5

听起来这里有两个可能的因素:

1)背景模式

如果您希望CBPeripheralManager在关闭应用程序后蓝牙连接保持活动状态(并继续广告,如果您正在使用),则需要在Info.plist文件中添加bluetooth-central或bluetooth-peripheral后台模式.有关蓝牙背景模式的更多信息,请参见此处.

看到你提到CBCentralManager在iOS端使用,在你的情况下适当的背景模式将是bluetooth-central.

2)国家恢复

双方CBCentralManager并CBPeripheralManager有一个初始化选项,允许你指定一个标识符恢复.因为CBCentralManager,您可以将包含键的唯一标识符的字典传递给CBCentralManagerOptionRestoreIdentifierKeyoptions参数-initWithDelegate:queue:options.

然后,当您的应用程序在后台重新启动时,您只需要CBCentralManager使用先前指定的恢复标识符重新实例化该实例,以恢复以前的状态.有关状态恢复的更多信息可以在同一文档中找到.