我正在努力想出最好的方法来跟踪iPhone应用程序的位置在后台跟踪位置。
背景模型与Android和Windows Phone平台略有不同,我不确定如何实现最佳效果。
我想完成的是:
- 在后台定期运行一个作业,即使我的应用程序被终止
- 后台作业获取当前用户位置
- 作业使用POST Http请求向服务器提交位置
大多数后台方法不适合我,因为它们要求应用程序不被终止。我想提交位置,即使应用被终止。我也不关心后台工作被系统执行的频率,是一分钟一次、一小时一次还是一天一次。只要系统允许,我就需要它。我找到了两种可能的解决方案:
- 后台取回 远程通知
问题是:我可以
- 当iOS给我机会执行时,
- 获取用户位置我的后台工作(我相信,是的,有"位置更新"模式)启用,但我不确定)?
- 向后端服务器提交位置(不获取,但提交,使用POST http方法)?
,请建议。
最好的方法是使用apple的核心定位api
它提供了许多方法来跟踪用户的位置基于所需的准确性或电池寿命的考虑
您可以在通知中心注册有关位置信息....手机会在特殊情况下定期启动你的应用(它不会启动完整的东西),这样你就可以相应地更新你的数据和应用变量
这样就不会影响应用是否打开
你需要关注的两件事是通知中心和核心位置api
是API参考的链接核心位置框架参考
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html