ios - 获取BLE IOS外围设备的UUID,而不获取服务UUID

标签 ios bluetooth uuid cbperipheralmanager

如何从外围设备端获取UUID。不在广告包装中的服务UUID。

让我们从中央看:

- (void)centralManager:(CBCentralManager *)central
 didDiscoverPeripheral:(CBPeripheral *)peripheral
     advertisementData:(NSDictionary *)advertisementData
                  RSSI:(NSNumber *)RSSI

我需要的是peripheral.identifier中的UUID,而不是advertisementData中包含的UUID。我可以从中央获取它们,但我也需要从外围获取它们。

最佳答案

我认为没有办法从CBPeripheralManager端获取UUID。

由于此UUID在蓝牙芯片中进行了硬编码,并且人们几乎不需要更换iPhone的蓝牙芯片,因此该方法将用于跟踪用户,这与Apple的意图相反。

苹果在iOS 5中禁止UDID,在iOS 6中禁止MAC地址。

因此,当苹果在iOS 6中添加CBPeripheralManager时,苹果没有理由让您访问蓝牙UUID。

关于ios - 获取BLE IOS外围设备的UUID,而不获取服务UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28412783/

相关文章:

ios - 将图像从图像 URL 数组添加到 UITableViewCell

ios - 单例还是实用类?

ios - 将 UI 滑动手势识别添加到自定义 View ios

带有渐变的 iOS UIProgressView

ios - React Native Module 中的 EADemo 从未接收到委托(delegate)方法 handleEvent NSStreamEventOpenCompleted?

ios - 无法在类初始值设定项中生成 NSUUID - Apple Mach-O 链接器错误

Android BluetoothGatt setCharacteristicNotification 只设置第一个特征

java - Android通过蓝牙向Arduino发送数据

java - 如何为hibernate注释生成的UUID添加前缀?

mysql - 在 MySQL 中将 UUID 保存为 varbinary(16) 导致 com.mysql.jdbc.MysqlDataTruncation : Data truncation: Data too long for column 'ID' at row 1