【发布时间】:2011-09-26 19:21:37
【问题描述】:
我想创建一个(基于游戏的)iPhone 应用程序,它将您的 GPS 位置在特定时间(例如每天 3-5 次)发送到服务器。我找到了一个苹果页面,解释了一些在后台运行的功能,例如位置、音乐和 VOIP。
我需要 GPS 在仪表上准确。
谁能帮我举个小例子?
【问题讨论】:
标签: iphone objective-c ios gps background-process
我想创建一个(基于游戏的)iPhone 应用程序,它将您的 GPS 位置在特定时间(例如每天 3-5 次)发送到服务器。我找到了一个苹果页面,解释了一些在后台运行的功能,例如位置、音乐和 VOIP。
我需要 GPS 在仪表上准确。
谁能帮我举个小例子?
【问题讨论】:
标签: iphone objective-c ios gps background-process
这实际上取决于您对该位置的使用情况。如果您积极监控,请与用户的电池亲吻再见。非常详细的准确性,对电池的影响更大。就准确性而言,位置的背景是全部或全部。
-startMonitoringForSignificantLocationChange 命中率低,准确性低。对您来说可能不够准确。
根据使用情况、区域监控更好。在定义区域的进入或退出时触发事件。
您无法从基于位置的准确性和定时事件中获益。你可以做到,但你需要付出更多的努力。
【讨论】:
虽然这是未经测试的,但我正在计划一个具有类似需求的应用程序。我的解决方案是,在位置发生重大变化时,应用程序将确定更新时间戳和我想知道用户位置(例如下午 5 点)之间存在的时间间隔。如果低于某个阈值,它将进入 startUpdatingLocation 模式(全功率、电池耗尽,这就是该阈值很重要的原因),然后在每次位置更新时检查目标时间是否已过。如果是这样,请将更新发送到您的服务器,然后返回监视重大更改。问题是,如果它仍然需要一些动作来触发重大更改更新......所以它不是一个完全可靠的解决方案,但它可能会根据您使用数据的方式起作用
【讨论】:
您不能“安排后台工作”。 iOS 不允许。
解决方案是让自己在重大变化时收到通知(一些对电池造成影响,但这并不可怕),然后只偶尔做一些事情。 p>
【讨论】: