中央经理的确无法发现非苹果灯塔的外围方法

时间:2016-04-26 17:37:05

标签: ios swift bluetooth-lowenergy

我正在使用专有灯塔。我可以完全访问信标的代码,并且可以根据需要设置制造商ID。如果我将ID设置为Apple(即使其成为iBeacon),则位置管理器能够检测到信标的区域并且能够对信标进行范围调整。如果我将ID设置为另一个制造商(即将其设置为"正常"信标),则中央管理器的didDiscoverPeripheral方法不会被称为。我的理解是iOS对待"正常"信标与任何其他BLE外设相同。有人可以提出一些可能的原因吗?

  1. 我正在使用iOS 9和swift
  2. 我的应用程序正在发现其他几个BLE外围设备。因此,我确信我的应用程序使用核心蓝牙框架是正确的。

1 个答案:

答案 0 :(得分:0)

为了检测制造商的广告,我相信您必须为nil数组传递serviceUUIDs。示例如下:

central.scanForPeripheralsWithServices(nil,
  options: [CBCentralManagerScanOptionAllowDuplicatesKey: true]
)