我正在开发一个应用程序,需要ios设备提供蓝牙UUID(从扫描/连接的设备获得蓝牙UUID),然后将其发送到服务器进行进一步开发。我在网上找不到答案。我正在使用核心蓝牙扫描和连接设备,并发送设备信息名称和UUID,但UUID每15-20分钟改变一次。如何识别以前连接的设备,以及如何获取唯一的BLE设备UUID,以便将标识符与以前添加的设备列表进行匹配。* 请帮帮我 *
enxuqcxy1#
您可以获取发现的CBPeripheral的identifier属性并连接到它。如果您连接,那么标识符在相当长的时间内不应该改变该设备的标识符(在实践中,我不认为它会改变,但理论上它可以)。一旦您有了外设标识符,您可以保存该值,随后通过retrievePeripherals而不是扫描获取外设。您将面临的问题是,identifier特定于发现外设的iOS设备。另一个iOS设备将获得相同外设的不同标识符。如果您需要一个可跨iOS设备传输的外设唯一标识符,则需要通过外设本身的特征公开此类值,并让您的应用在连接后读取该特征值。
CBPeripheral
identifier
retrievePeripherals
kx7yvsdv2#
要将自定义广告数据添加到iOS Bluetooth,您可以按照以下步骤操作:创建一个NSMutableDictionary对象来存储广告数据。此字典将用于配置广告中包含的数据。将自定义广告数据添加到字典中。您可以使用特定的键来标识自定义数据,值可以是字符串、字节数组或其他基本数据类型。第一个月在上面的示例中,我们在通告中添加了自定义数据“CustomData”作为本地名称(CBAdvertisementDataLocalNameKey)。打电话给startAdvertising:方法并将广告数据字典作为参数传递。[peripheralManager startAdvertising:advertisementData];个这将启动蓝牙广告,并在广播中包含您的自定义广告数据。请注意,iOS设备对广告数据的长度有限制,通常为31字节。如果添加太多自定义数据,可能会超出限制,广告可能无法正常播放。因此,请确保您的自定义广告数据符合广告数据包的限制。除了自定义广告数据外,还可以添加其他标准广告数据,如服务UUID、外观数据等。根据您的要求选择要添加的键和相应的值。有关可用的广告密钥及其要求,请参阅CoreBluetooth框架的文档。这些是添加自定义广告数据的基本步骤。根据您的需要,您可以添加不同类型的自定义数据,并通过蓝牙广告传输它们。
[peripheralManager startAdvertising:advertisementData];
2条答案
按热度按时间enxuqcxy1#
您可以获取发现的
CBPeripheral
的identifier
属性并连接到它。如果您连接,那么标识符在相当长的时间内不应该改变该设备的标识符(在实践中,我不认为它会改变,但理论上它可以)。一旦您有了外设标识符,您可以保存该值,随后通过
retrievePeripherals
而不是扫描获取外设。您将面临的问题是,
identifier
特定于发现外设的iOS设备。另一个iOS设备将获得相同外设的不同标识符。如果您需要一个可跨iOS设备传输的外设唯一标识符,则需要通过外设本身的特征公开此类值,并让您的应用在连接后读取该特征值。
kx7yvsdv2#
要将自定义广告数据添加到iOS Bluetooth,您可以按照以下步骤操作:
创建一个NSMutableDictionary对象来存储广告数据。此字典将用于配置广告中包含的数据。
将自定义广告数据添加到字典中。您可以使用特定的键来标识自定义数据,值可以是字符串、字节数组或其他基本数据类型。
第一个月
在上面的示例中,我们在通告中添加了自定义数据“CustomData”作为本地名称(CBAdvertisementDataLocalNameKey)。
打电话给startAdvertising:方法并将广告数据字典作为参数传递。
[peripheralManager startAdvertising:advertisementData];
个这将启动蓝牙广告,并在广播中包含您的自定义广告数据。
请注意,iOS设备对广告数据的长度有限制,通常为31字节。如果添加太多自定义数据,可能会超出限制,广告可能无法正常播放。因此,请确保您的自定义广告数据符合广告数据包的限制。
除了自定义广告数据外,还可以添加其他标准广告数据,如服务UUID、外观数据等。根据您的要求选择要添加的键和相应的值。有关可用的广告密钥及其要求,请参阅CoreBluetooth框架的文档。
这些是添加自定义广告数据的基本步骤。根据您的需要,您可以添加不同类型的自定义数据,并通过蓝牙广告传输它们。