缓存蓝牙连接iOS
Posted
技术标签:
【中文标题】缓存蓝牙连接iOS【英文标题】:Cache a bluetooth connection iOS 【发布时间】:2013-12-17 03:54:17 【问题描述】:我是 ios 蓝牙开发的新手。我已使用 CoreBluetooth 和 CBCentralManager
成功地将我的 iOS 设备连接到外部蓝牙 4.0 (BLE) 设备。
但是,每次我退出或关闭应用程序时,我都会失去连接,并且下次打开应用程序时,我必须重新执行所有初始步骤以重新连接。
所以我的问题是,如何在 iOS 端“缓存”蓝牙连接?也许缓存不是正确的术语,我只是想在我第一次将 iOS 应用程序连接到外部蓝牙设备后寻找一种方法来记住连接。
谢谢!
【问题讨论】:
【参考方案1】:听起来这里有两个可能的因素:
1) 后台模式
如果您希望蓝牙连接在关闭应用程序后保持活动状态(并继续广告,如果您使用的是CBPeripheralManager
),您需要将bluetooth-central
或bluetooth-peripheral
后台模式添加到您的信息中。 plist 文件。有关蓝牙背景模式的更多信息,请参阅here。
正如您在 iOS 端使用 CBCentralManager
所提到的,在您的情况下,适当的后台模式将是 bluetooth-central
。
2) 状态恢复
CBCentralManager
和 CBPeripheralManager
都有一个允许您指定恢复标识符的初始化选项。对于CBCentralManager
,您可以将包含键CBCentralManagerOptionRestoreIdentifierKey
的唯一标识符的字典传递到-initWithDelegate:queue:options
的选项参数中。
然后,当您的应用在后台重新启动时,您只需使用先前指定的恢复标识符重新实例化 CBCentralManager
实例即可恢复之前的状态。更多关于状态恢复的信息可以在same document找到。
【讨论】:
以上是关于缓存蓝牙连接iOS的主要内容,如果未能解决你的问题,请参考以下文章