BLE设备-相同的代码和固件适用于iphoneSE,但在iphone7plus中效果不佳



我正在使用ibeacon。我创建了一个用于跟踪设备的应用程序。但我的申请遇到了问题。该应用程序在iPhone SE的终止状态下运行良好,而在iPhone 7+的锁定状态下则不工作。在解锁状态下,它也适用于7+,但与iPhone SE相比仍然非常慢。这个问题有什么具体原因吗。如果可以解决,这个问题的可能解决方案是什么。

对于这个问题,我真的很无助,也很无知。请帮帮我,用你的知识帮助我,先生。提前谢谢。

当iOS应用程序处于后台时,它依赖于两种不同的机制来检测信标:

  1. 硬件过滤器。这些是存储在蓝牙芯片上的字节模式,当接收到与您的信标区域匹配的BLE广告数据包时,会提醒操作系统。这种机制非常快,可以在一秒钟内交付结果,但资源有限。一旦所有插槽都已满,它将不再工作。目前还没有关于每款iPhone可用插槽数量的文件,但实验表明这个数字大约为30个。

  2. 软件扫描。执行完整的BLE扫描以找到所有信标,即使它们没有存储在硬件过滤器中。在测距活动的前景中,软件扫描是恒定的。在后台,它们是周期性的以节省电池,因此基于软件扫描的检测要慢得多。这个速率没有记录在案,但实验表明,在典型的手机状态下,软件扫描每大约10分钟在后台进行一次。当屏幕解锁时,还会执行额外的软件扫描。

问题描述与硬件筛选器(1(在iPhone 7+上不起作用一致。这可能不是手机型号的问题,可能是特定设备的问题,或者更可能是手机上的软件状态的问题。一个典型的原因是安装了多个信标应用程序,这些应用程序占用了所有插槽。每个信标应用程序最多可以注册20个信标区域进行监控,因此只有两个应用程序可以使用所有插槽!。第一批运行并注册插槽的应用程序可能会永远拥有它们。

一些故障排除提示:

  1. 卸载您认为可能检测到信标的任何其他应用程序,然后重新安装您的应用程序
  2. 重新启动设备

如果以上情况没有帮助,则您的设备可能存在硬件问题。试试另一部iPhone 7+,看看你是否可以复制。

相关内容

最新更新