我正在尝试在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可发现性以防万一。但仍然没有出现。
答案 0 :(得分:1)
正如@ Paulw11所提到的,我必须创建一个BLE GATT服务来检测它。
请在此处查看此示例:https://github.com/androidthings/sample-bluetooth-le-gattserver如果您以这种方式实施Android应用,iOS应用将发现该服务。