【问题标题】:Time based GPS location in background (iphone)后台基于时间的 GPS 定位 (iphone)
【发布时间】:2011-09-26 19:21:37
【问题描述】:

我想创建一个(基于游戏的)iPhone 应用程序,它将您的 GPS 位置在特定时间(例如每天 3-5 次)发送到服务器。我找到了一个苹果页面,解释了一些在后台运行的功能,例如位置、音乐和 VOIP。

我需要 GPS 在仪表上准确。

谁能帮我举个小例子?

【问题讨论】:

    标签: iphone objective-c ios gps background-process


    【解决方案1】:

    这实际上取决于您对该位置的使用情况。如果您积极监控,请与用户的电池亲吻再见。非常详细的准确性,对电池的影响更大。就准确性而言,位置的背景是全部或全部。

    -startMonitoringForSignificantLocationChange 命中率低,准确性低。对您来说可能不够准确。

    根据使用情况、区域监控更好。在定义区域的进入或退出时触发事件。

    您无法从基于位置的准确性和定时事件中获益。你可以做到,但你需要付出更多的努力。

    【讨论】:

    • 这个想法是让某人在特定时间的位置在他的位置发生重大变化时不更新。这个想法是当背景函数有一个准确的位置时。关闭 GPS 并在几个小时后安排下一次更新?
    • 我意识到这一点,但我担心 Apple 的后台服务不适合这种类型的实施。
    • 什么是重大变化? (米/公里?)
    • 尚未列出所有细节。但一般认为是信号塔连接发生变化,连接到wifi,或者另一个应用程序请求当前位置时。这些数据是通过重大变化共享的。这是相当准确的,但不能指望时间,因为它是基于用户的移动。没有移动,没有更新。
    【解决方案2】:

    虽然这是未经测试的,但我正在计划一个具有类似需求的应用程序。我的解决方案是,在位置发生重大变化时,应用程序将确定更新时间戳和我想知道用户位置(例如下午 5 点)之间存在的时间间隔。如果低于某个阈值,它将进入 startUpdatingLocation 模式(全功率、电池耗尽,这就是该阈值很重要的原因),然后在每次位置更新时检查目标时间是否已过。如果是这样,请将更新发送到您的服务器,然后返回监视重大更改。问题是,如果它仍然需要一些动作来触发重大更改更新......所以它不是一个完全可靠的解决方案,但它可能会根据您使用数据的方式起作用

    【讨论】:

    • 什么是重大变化? (米/公里?)
    • 游戏中有什么东西会强制移动吗?或者您期望用户之间的任何共性可能适用于其他解决方案?您能否使用推送通知让用户进行交互,并在那时获得位置更新?还是更新必须更微妙?
    【解决方案3】:

    您不能“安排后台工作”。 iOS 不允许。

    解决方案是让自己在重大变化时收到通知(一些对电池造成影响,但这并不可怕),然后只偶尔做一些事情。 p>

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多