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

前端之家收集整理的这篇文章主要介绍了ios – 如何在CoreBluetooth框架中传递设备UUID以便客户端稍后重新连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚写了一个简单的应用程序,我扫描并连接到外围设备(也是一个 IOS设备).但是,我从ConnectPeripheral函数返回的CBPeripheral对象没有设备UUID,它始终为null.现在我试图了解我在哪里设置它以便它被传递.
这就是我在做的事情.

我正在做我的服务广告

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

(从框架中我了解到我无法在广告包中传递设备UUID.如果我错了,请纠正我)

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

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

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

解决方法

它有一个解决方法.您可以传递它而不是设备的本地名称,如下所示:

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

在didDiscoverPeripheral函数的其他设备中,你可以这样得到它:

[advertisementData objectForKey:@"kCBAdvDataLocalName"]

猜你在找的iOS相关文章