iOS - Swift蓝牙 - 没有发现Android设备

时间:2018-03-06 01:47:06

标签: swift bluetooth core-bluetooth

我正在尝试在Swift中编写一个发现Android手机(像素2)的应用程序。但是,它没有出现在结果中。然而,我可以在iphone的常规蓝牙设置中找到像素(它是iphone 8)。

我发现Android手机的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    centralManager = CBCentralManager(delegate: self, queue: nil)

}

func centralManagerDidUpdateState(_ central: CBCentralManager) {
    if (central.state == .poweredOn) {
        print("Powered on, starting scan")
        self.centralManager?.scanForPeripherals(withServices: nil, options: nil)
    } else {
        print("BT not powered on")
    }
}

func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
    print(peripheral)
}

它向我展示了其他BT设备,但没有显示Android手机。我还写了一个Android应用程序来明确启用BT可发现性以防万一。但仍然没有出现。

1 个答案:

答案 0 :(得分:1)

正如@ Paulw11所提到的,我必须创建一个BLE GATT服务来检测它。

请在此处查看此示例:https://github.com/androidthings/sample-bluetooth-le-gattserver如果您以这种方式实施Android应用,iOS应用将发现该服务。