Ios Swift:信标测距在通话时返回空数组

Ios Swift:信标测距在通话时返回空数组,ios,swift,location,bluetooth-lowenergy,ibeacon,Ios,Swift,Location,Bluetooth Lowenergy,Ibeacon,我们有一个应用程序,使用CLLocationManager进行信标测距-Swift 4下的核心位置。测距功能通常工作正常,返回范围内的任何信标。但是,如果蓝牙耳机连接到手机,并且收到或拨打电话,则仍会调用信标测距功能,但返回空阵列。这种情况发生在前台的应用程序中 尝试了Apple store中的信标扫描(beacon Scan)应用程序。在打电话时,它也会停止检测信标 我们期待信标测距在蓝牙耳机通话时继续返回检测到的信标。你知道为什么没有吗?退出区域事件也会被触发。当电话结束时,信标测距再次开始

我们有一个应用程序,使用CLLocationManager进行信标测距-Swift 4下的核心位置。测距功能通常工作正常,返回范围内的任何信标。但是,如果蓝牙耳机连接到手机,并且收到或拨打电话,则仍会调用信标测距功能,但返回空阵列。这种情况发生在前台的应用程序中

尝试了Apple store中的信标扫描(beacon Scan)应用程序。在打电话时,它也会停止检测信标


我们期待信标测距在蓝牙耳机通话时继续返回检测到的信标。你知道为什么没有吗?退出区域事件也会被触发。当电话结束时,信标测距再次开始工作。这在Android上不是问题。

iOS蓝牙堆栈中存在一个问题,当通过蓝牙连接激活电话时,蓝牙LE扫描无法获得结果。当然可以想象,这种无线电活动会阻止同一蓝牙芯片的其他功能工作。我没有亲眼目睹过这种行为

您可能希望通过以下测试进一步描述这一点:

  • 各种型号的iPhone
  • 各种耳机
  • 各种iOS版本
您可能会发现该问题与上述的某些组合有关。这将让您知道问题的范围,即使您无法采取任何措施来防止它,甚至可以在任何给定时间检测到问题的存在

编辑:我可以确认此行为。

我在一台运行iOS 10.2.1的iPhone 6上进行了测试,运行了Beacon Locate应用程序,同时手机通过蓝牙连接到Bose SoundLink II,一个电话处于激活状态。请参见下面的屏幕截图,其中显示了在呼叫过程中停止的信标检测(图中显示了到-1的距离),但随后检测完全下降。我一挂断电话,侦查工作就恢复了

我还将注意到,如果我只是通过相同的蓝牙连接播放音乐(如潘多拉),则信标检测不会丢失

这可能根本不是无线电干扰问题(正如您所注意到的,Android设备上不存在同样的问题),而是iOS强加的,在通过蓝牙进行电话通话时,出于未知(或非预期)的目的阻止了BLE扫描


以下是苹果的回应。显然,在使用蓝牙耳机的电话通话时,无法进行信标检测。

感谢您联系Apple Developer Technical Support(DTS)。我们已经审查了您的请求,并得出结论,鉴于当前的发货系统配置,没有支持的方式来实现所需的功能

如果您希望苹果考虑在将来增加对这些功能的支持,请通过反馈助手()提交增强请求。有关反馈助手的更多信息,请访问

虽然技术支持事件(TSI)最初是从您的Apple Developer Program帐户中为此请求借记的,但我们已将替换事件分配回您的帐户

致以最良好的祝愿

开发人员技术支持 全球开发商关系 苹果公司

平台和版本 网间网操作系统 到目前为止,我们已经使用AirPods、Jabra和Plantronics耳机对iPhone 6s(OS 12.3.1)、6s Plus(12.4)和10r(12.4)进行了测试。所有人都有这个问题

问题描述 我们有一个应用程序,使用CLLocationManager进行信标测距-Swift 4下的核心位置。测距功能工作正常,返回范围内的任何信标。但是,如果蓝牙耳机连接到手机,并且收到或拨打电话,则仍会调用信标测距功能,但返回空阵列。这种情况发生在前台的应用程序中

尝试了Apple store中的信标扫描(beacon Scan)应用程序。在打电话时,它也会停止检测信标

我们期待信标测距在蓝牙耳机通话时继续返回检测到的信标。你知道为什么没有吗?退出区域事件也会被触发。当电话结束时,信标测距再次开始工作

复制步骤 使用核心位置实现信标检测解决方案。或者,安装信标扫描应用程序。将手机连接至蓝牙耳机。在信标打开的情况下测距信标时,通过蓝牙耳机拨打或接听电话。呼叫时信标检测失败。呼叫结束后,信标测距再次返回填充的阵列


到目前为止,我们已经使用AirPods、Jabra和Plantronics耳机对iPhone 6s(OS 12.3.1)、6s Plus(12.4)和10r(12.4)进行了测试。所有人都有这个问题。你提到你没有见过这种行为。您能告诉我您使用的没有此问题的设置吗?谢谢你的帮助。我已经编辑了我的答案,以显示我无法重现此行为的测试条件。更正我的上述评论:我已经能够重现此行为。看到我编辑过的答案。很高兴知道这不仅仅是我们看到的。有什么解决办法吗?向苹果提交一个支持请求,也许吧?谢谢。你可以试着联系苹果,是的,但不要抱太大希望。即使他们采取了行动,你也不会看到任何结果,直到下一个iOS版本。