【问题标题】:Cache a bluetooth connection iOS缓存蓝牙连接iOS
【发布时间】:2013-12-17 03:54:17
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: ios iphone objective-c bluetooth core-bluetooth


    【解决方案1】:

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

    1) 后台模式

    如果您希望蓝牙连接在关闭应用程序后保持活动状态(并继续广告,如果您使用的是CBPeripheralManager),您需要将bluetooth-centralbluetooth-peripheral 后台模式添加到您的信息中。 plist 文件。有关蓝牙背景模式的更多信息,请参阅here

    正如您在 iOS 端使用 CBCentralManager 所提到的,在您的情况下,适当的后台模式将是 bluetooth-central

    2) 状态恢复

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

    然后,当您的应用在后台重新启动时,您只需使用先前指定的恢复标识符重新实例化 CBCentralManager 实例即可恢复之前的状态。更多关于状态恢复的信息可以在same document找到。

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 2014-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 2016-09-13
      相关资源
      最近更新 更多