时间花在灯塔周围

Posted

技术标签:

【中文标题】时间花在灯塔周围【英文标题】:Time spend around a beacon 【发布时间】:2014-09-29 14:17:47 【问题描述】:

在背景中确定在信标[不在区域内]周围花费的时间应该是什么正确方法。当应用程序在前台使用 didRangeBeacons 和一些业务逻辑时,我可以做到这一点。我在几个论坛上读到,当应用程序在后台注册位置更新时,测距确实有效,但我没有成功。我在 plist 中添加了UIBackgroundModes 的位置更新键。

我正在使用 estimote 信标及其 sdk。

【问题讨论】:

您是否将 NSLocationAlwaysUsageDescription 键添加到 .plist 中? 【参考方案1】:

我在这里看到了两种可能的解决方案:

    监听进入和退出区域事件,存储时间戳,然后使用它们计算退出时的时间跨度。如果您定义您的区域以使其仅包含一个信标,则监视该区域将等同于监视该信标。唯一要记住的是,ios 限制同时监控 20 个区域 - 因此此解决方案的规模不会超过 20 个信标。

    在后台使用测距。除了UIBackgroundModes,你还需要启动常规的定位服务,即startUpdatingLocation

    当应用在前台运行时,信标测距会正常传递事件。 当您的应用处于后台时,该服务仅在为应用启用位置更新后台模式且标准位置服务正在运行时才会发送事件。

    (来自CLLocationManager class reference,“在后台使用定位服务”部分)

    请注意,在后台进行测距会比平时消耗更多的电池寿命,而且 Apple 还要求有使用后台模式的理由。除非后台模式对您的应用程序的用户有一些价值,否则他们可能会选择拒绝它。总而言之,明智地使用背景测距! (:

【讨论】:

以上是关于时间花在灯塔周围的主要内容,如果未能解决你的问题,请参考以下文章

谷歌页面速度见解。灯塔测量原点

如何从 MSTest 对站点进行灯塔审计

隐身灯塔性能问题

Laravel 灯塔无法在用户模型上使用授权

不使用被动侦听器来提高滚动性能(灯塔报告)

灯塔教育学生账号密码怎么查