Ios 我如何扫描Iphone 6上没有公布姓名的可移动设备

Ios 我如何扫描Iphone 6上没有公布姓名的可移动设备,ios,swift,bluetooth-lowenergy,ios-bluetooth,Ios,Swift,Bluetooth Lowenergy,Ios Bluetooth,我们正在使用Swift和IOS CBCentralManager。我们有一个蓝牙低能量(双模设备) 由于缺少空间,双模式设备广告分组没有名称或缩短的名称 当我们使用广告框中包含的服务UUID调用“scanForPeripherals(withServices:options:)”时,只有在包含短设备名时,才会收到响应 因此,通过名称字段,我们可以检测设备。没有名称字段,我们无法检测设备。我们希望返回一个CBP外设,显然是一个NIL名称 我们在早期的Iphone上得到了响应,比如iphone5,但

我们正在使用Swift和IOS CBCentralManager。我们有一个蓝牙低能量(双模设备)

由于缺少空间,双模式设备广告分组没有名称或缩短的名称

当我们使用广告框中包含的服务UUID调用“scanForPeripherals(withServices:options:)”时,只有在包含短设备名时,才会收到响应

因此,通过名称字段,我们可以检测设备。没有名称字段,我们无法检测设备。我们希望返回一个CBP外设,显然是一个NIL名称

我们在早期的Iphone上得到了响应,比如iphone5,但后来的Iphone和ipad没有得到响应

第三方软件(如Lightblue)可以检测这些设备。此第三方软件每次在我们测试的每个设备上都能正确检测


我们肯定遗漏了一些东西。

我发现苹果的一个记录不完整的选项。似乎这是涵盖此用例的选项

let CBCentralManagerScanOptionAllowDuplicatesKey: String
如果广告中没有名字,苹果必须看到重复的ID(或null)

这是我写的

由于BLE中广告框的尺寸限制,这种情况必须经常出现

我可以理解为什么当设备不是面向消费者时,许多开发人员会选择不在GUI名称上的32字节广告框中浪费空间