蓝牙的连接过程分为:检测手机蓝牙状态、搜索设备、选择设备、连接设备。
当我们连接到一个设备后,在连接断开后,由于 iOS 无法获取蓝牙设备的 MAC 地址,所以无法像安卓那样通过 MAC 地址进行连接。
但是!!!
可以通过下面的方法达到类似安卓的通过 MAC 地址进行连接的效果
let uuidString: String = peripheral.identifier.uuidString
let uuid = UUID.init(uuidString: uuidString!)
let uuids: [UUID] = [uuid!]
let targetPeripheral: CBPeripheral? = centralManager?.retrievePeripherals(withIdentifiers: uuids).first
connect(targetPeripheral!)
其中,peripheral.identifier.uuidString 是 iOS 中类似于 MAC 地址的东西,可以作为设备的标识符。但是需要注意的是,同一个蓝牙设备用不同的 iPhone 进行搜索,这个值是会发生改变的。
网友评论