gpt4 book ai didi

ios - 如何在 CoreBluetooth 框架中传递设备 UUID,以便客户端稍后重新连接

转载 作者:可可西里 更新时间:2023-11-01 06:11:29 27 4
gpt4 key购买 nike

我刚刚编写了一个简单的应用程序,我可以在其中扫描并连接到外围设备(这也是一个 IOS 设备)。但是,我从 ConnectPeripheral 函数返回的 CBPeripheral 对象没有设备 UUID,它始终为空。现在我想知道我在哪里设置它以便它通过。这就是我正在做的事情。

宣传我正在做的服务

NSDictionary *advertisingDict=[NSDictionary dictionaryWithObject: services forKey:CBAdvertisementDataServiceUUIDsKey]
[manager startAdvertising:advertisingDicts];

(从框架我了解到我不能在广告包中传递设备UUID。如果我在这里错了请纠正我)

我的客户端扫描服务并进入功能

centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral

正如预期的那样,peripheral.uuid 为空。如果我在此外围设备上调用 connectPeripheral,它也可以正常工作。我不确定当 uuid 为空时它如何理解要连接的设备。如果我想稍后重新连接,我还需要做什么。这个uuid怎么填?

最佳答案

它有一个变通办法。您可以像这样传递它而不是设备的本地名称:

[self.peripheralManager startAdvertising:@{CBAdvertisementDataLocalNameKey : *the UUID*}];

而在 didDiscoverPeripheral 函数中的其他设备中,您可以这样获取它:

[advertisementData objectForKey:@"kCBAdvDataLocalName"]

关于ios - 如何在 CoreBluetooth 框架中传递设备 UUID,以便客户端稍后重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128312/

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