ios swift蓝牙重新连接

时间:2016-12-22 09:13:58

标签: ios swift bluetooth

我有一个与BLE产品连接的应用程序。该产品在使用时可能会断开连接,但如果蓝牙处于打开状态,它应该会在iPhone附近自动重新连接。

为了简单起见,请按一下按钮打开本产品的蓝牙。因此,用户离开BLE设备,两者都断开连接,并且当它们都打开时它们应该重新连接。但!这在我的实现中并没有真正发生。

我尝试解决此问题的方法是执行以下操作:

添加Info.plistbluetooth-central的正确背景模式bluetooth-peripheral

除此之外,我已在options的参数中添加CBManager以唤醒应用程序,如果应用程序被系统杀死,并使用以下语句:

centralManager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey:identifier])

我实施了以下内容:

public func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any]) { print("Am I restoring?") }

但是,当应用程序被系统杀死时,我无法测试BLE设备是否会自动重新连接。有没有正确的方法来测试这个“功能”?

除此之外,主要问题仍然存在。当我杀死应用程序时,蓝牙设置中的BLE设备已断开连接。我怎么能防止这种情况?

当我按下按钮时,我的设备正在发送一些数据,当它断开连接时,它开始搜索设备,所以我认为应该至少没问题。

0 个答案:

没有答案