我的IOS应用程序正在尝试从蓝色设备获取广告和响应数据,而没有连接到它。广告和响应数据都应为31个字节长(我们也使用了4个字节的标头,外加27个字节的数据),总共62个字节。虽然android版本的应用程序可以轻松获取所有这些数据,但我无法迅速获取它们。我在corebluetooth中调用了广告,但是只收到27字节的响应数据。我找不到响应数据的4个标头字节,也找不到广告数据的31个字节。
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
......
let data2: NSDictionary? = advertisementData[CBAdvertisementDataServiceDataKey] as? NSDictionary
if data2 != nil {
let str :Data = (data2!.allValues)[0] as! Data
bytes = [UInt8](str)
print("advertisement data: ",bytes)
}
}
答案 0 :(得分:0)
打印adsData,您将看到iOS正在获取完整的广告数据。
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print(advertisementData)
// Add discovered peripheral to the list
nearbyPeripherals.append(peripheral)
}
您可以按照此iOS iOS蓝牙指南进行操作。 https://www.raywenderlich.com/231-core-bluetooth-tutorial-for-ios-heart-rate-monitor