我正在尝试使用BLE通过一个简单的应用程序自动连接到我的AirPods.我得到设备的名称和状态为"连接",但由于某种原因我无法连接到它.函数'didConnect peripheral'永远不会被触发.
我尝试了教程和其他帖子中的所有不同方法,尝试将外围数据存储在数组中以保留引用,但似乎没有任何工作.
有什么步骤我可以在'didDiscover'和'didConnect'之间获得一些额外的信息吗?
在XCode 9.2中工作,在iPhone上使用Swift 4和iOS 11.2.
这是我的代码:
let deviceName = "AirPods de Roger"
var isConnected = false
var manager: CBCentralManager!
var peripheralBLE: CBPeripheral?
override func viewDidLoad() {
super.viewDidLoad()
manager = CBCentralManager(delegate: self, queue: nil)
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch manager.state {
case.poweredOff:
print("BLE service is powered off")
case.poweredOn:
print("BLE service is powered on and scanning")
manager.scanForPeripherals(withServices: nil, options: nil)
default:
print("BLE service in another state")
}
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String …
Run Code Online (Sandbox Code Playgroud)