gpt4 book ai didi

ios - 如果事先知道 MAC 地址,有没有办法在 Swift 5 中计算 BLE 设备的 UUID?

转载 作者:行者123 更新时间:2023-12-03 21:13:49 25 4
gpt4 key购买 nike

是的,我知道无法检索使用 CoreBluetooth 包找到的 BLE 外设的 MAC 地址,如 here 等其他问题中所述。 .

我工作的公司有一个测试设置,我们有不同类型的 iPhone,它们应该连接到不同的被测外围设备。对于每个被测外设,我们知道 MAC 地址。对于我们的测试,我们需要一个特定的 iPhone 来连接到特定的外围设备。外设仅在 MAC 地址上有所不同。

由于可以在单个 iOS 设备上使用一致的外围设备 ID

public func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
let id = peripheral.identifier
}

我们为每个外设和每个 iPhone 创建一个映射表。因此,我们有一个类似于这个的函数:(我们不使用这个,但你明白了)
func getMAC(peripheralId: String, iPhoneID: String) -> String {
if iPhoneID == "iPhoneFoo" && peripheralId == "uuid-peripheralFoo-iPhoneFoo" {
return "MAC-peripheralFoo"
}
else if iPhoneID == "iPhoneFoo" && peripheralId == "uuid-peripheralBar-iPhoneFoo" {
return "MAC-peripheralBar"
}
else if iPhoneID == "iPhoneBar" && peripheralId == "uuid-peripheralFoo-iPhoneBar" {
return "MAC-peripheralFoo"
}
else if iPhoneID == "iPhoneBar" && peripheralId == "uuid-peripheralBar-iPhoneBar" {
return "MAC-peripheralBar"
}
else {
return "unkown"
}
}

我们使用此函数的输出来检查找到的外设是否与其应搜索的 MAC 地址匹配。
可以猜到,制作这个映射功能是非常繁琐的,特别是如果新的 iPhone 或新的外设进入测试设置。

我现在的问题是:如果您事先知道 MAC 地址,有没有办法“计算”设备的外设 ID?

那么像一个函数,您提供 MAC 地址并检索 uuid,就好像通过执行 BLE 扫描实际上找到了设备一样?

提前致谢!

最佳答案

不,没有。不能单独使用蓝牙设备地址来获取 uuid 设备标识符。事实上,标识符会因您用于扫描的手机而异。

关于ios - 如果事先知道 MAC 地址,有没有办法在 Swift 5 中计算 BLE 设备的 UUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61911464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com