简单的问题...我有一个应用程序以30秒的时间间隔(使用NSTimer)记录用户位置,它完美地工作,直到应用程序变为“不活动”并且NStimer停止。因此,我正在寻找可以保持我的位置间隔(30秒)的选项,同时仍能够记录相当准确的位置数据(精度在100米以内)。在后台请求iPhone的位置?
Option_001,蛮力:让CLLocationManager,startUpdatingLocation使用UIBackgroundModes = “位置” 运行所有的时间。不推荐使用电池。按要求定期,准确性约。 10-65m。可能只是唯一现实的选择。
Option_002,SLC:我可以使用显着的位置更改,但位置更新的频率很差(更不用说准确性)。如果应用程序在有限数量的手机塔的农村或荒野地区运行,则尤其如此。规律性未知,准确性约。 500米
Option_003,混合型:我可以用在后台为“显著”运动的指标显着位置更改(SLC),然后请求基于kCLLocationAccuracyBest的GPS位置。这可以起作用,但SLC事件不会在接近30秒的时间间隔内到达(特别是在步行时)。规律性未知,准确性约。为10-50m。
Option_004,还有其他什么?任何想法将不胜感激。
注:我想我有这个工作,因为当您按下[LOCK]在iPhone(通过USB连接)applicationWillResignActive的调用,但NSTimers不停止。如果您尝试与未连接的iPhone相同(即电话处于正常使用状态),NSTimers会在调用applicationWillResignActive后立即停止。
只是好奇你有什么样的应用程序,你需要我的位置每30秒? – 2011-04-30 20:29:03
像苹果的面包屑示例项目的排序,只是我不想让CLLocationManager始终运行,只需每30秒左右采样一次(即平均步行速度约为每50米) – fuzzygoat 2011-05-02 07:36:38