【问题标题】:Getting list of available bluetooth devices in ios获取 ios 中可用蓝牙设备的列表
【发布时间】:2014-05-05 07:25:22
【问题描述】:

有没有办法在 ios 中获取可用蓝牙设备的 mac 地址列表?我正在开发一个程序,该程序使用蓝牙 mac 地址查找附近的人。

【问题讨论】:

  • 你能展示你到目前为止所做的尝试吗
  • 不是通过 MAC 地址,而是自动生成的 UUID。另外,请注意有很多限制,但它们在头文件和多对多堆栈溢出问题中有所记录。所以准备好使用谷歌吧,它是你的朋友。

标签: ios bluetooth bluetooth-lowenergy core-bluetooth ios-bluetooth


【解决方案1】:

我确定你有:

[centralManager scanForPeripheralsWithServices:nil
                                       options:nil];

这意味着您的应用正在搜索 BLE 外围设备。

每当您的应用发现外围设备调用时:

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

您可以将每个发现的外围设备添加到 NSArrayCBPeripheral

【讨论】:

  • 请注意,根据用户的需要,您不会获得 MAC 地址,因为它们是经过哈希处理的(带有时间戳和自己的 iDevice MAC 地址)。
  • 当然他只能从advertisingData获取Service的UUID。
【解决方案2】:

这通常是不可能的,因为 iOS 不会向应用公开蓝牙地址。

如果您使用非 iOS 蓝牙外设,您可以手动将 BD_ADDR 包含到广告数据的 制造商信息 字段中。 iOS 会公开此制造商信息,您可以从那里获取 BD_ADDR。

对于许多用例,iOS 为每个设备生成的 UUID 就足够了。如果您可以提供更多详细信息(可能在后续问题中),则很有可能找到不需要此解决方法的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 2017-01-10
    • 2014-12-17
    • 2013-06-05
    • 2013-01-11
    相关资源
    最近更新 更多