IBeacon背景监视

问题描述 投票:1回答:1

我正在构建一个应用程序,其核心功能需要信标监视。确切地说,我需要将每个具有特定UUID的信标的有效载荷(最小范围)值添加到核心数据列表中(如果我可以设置信标需要保持一定时间的某个阈值,那就更好了。在将其添加到列表之前)。我一直在寻找解决方案,但这有点版本混乱,我无法真正确定我所需要的是否可行。我发现了这个article,根据它我可以在后台触发事件,或使用后台模式。我的问题是这是否仍然正确,如果有的话,是否有人拥有与结合使用IBeacon的背景模型有关的资源。

德国的问候!

ios swift bluetooth ibeacon
1个回答
1
投票

Apple限制了iOS应用程序可以在后台“排列”信标的持续时间。截至2020年4月,情况确实如此,过去5-6年的事态基本没有变化。

一些说明:

  1. Beacon monitoring]在后台不受限制,只要用户向应用程序授予“始终定位”权限。但是信标监视仅给您“进入”和“退出”事件。当您首先寻找的任何信标出现时,它为您提供一个进入事件,而当您寻找的最后一个信标消失时,它为您提供一个退出事件。 。监视不会告诉您有关单个信标的估计距离或信号强度的任何信息。

  2. Beacon ranging使您能够每秒获取更新,并列出所有可见信标,每个信标的信号强度和距离估计值。如果距离估计值小于,则可以轻松地编程逻辑以写入数据库。一定的阈值。

  3. 信标在后台限制范围在iOS上。首先,用户必须授予“始终定位”访问您的应用的权限。即使这样,在您的应用程序进入后台后,您也只能将距离限制在5-10秒钟左右,或者信标在后台运行后才首次出现。

  4. 您只需按my blog post here运行后台任务,就可以将(3)中提到的5-10秒延长到180秒。

  5. 如果您在Info.plist中声明“位置”后台模式,请按照(4)所述使用后台任务,并使用CoreLocation请求位置更新,则可以进一步延长180秒无限期

    。为此,只有3 km分辨率的粗略位置更新效果很好,并且可以通过关闭GPS来节省电池。)
  6. (5)的一个问题是,如果您打算将其提交到App Store,那么它可能会导致您的应用被拒绝,并且您在使用后台位置方面没有明显的面向用户的好处。如果您确实有充分的理由,或者打算将应用程序分发到App Store之外(例如公司企业应用程序),则可以正常使用。

  7. (5)的第二个问题是,始终保持量程变化会导致大量电池消耗。为了节省电池,您可能需要编程额外的逻辑来停止不需要的背景恒定变化。

  8. 这无疑是令人困惑和复杂的。但最重要的是有多种方法可以无限期地覆盖信标,以满足许多用例。您只需要跳过一些箍就可以实现。

© www.soinside.com 2019 - 2024. All rights reserved.