iPhone位置跟踪应用程序在后台的最佳方法是啥[关闭]

Posted

技术标签:

【中文标题】iPhone位置跟踪应用程序在后台的最佳方法是啥[关闭]【英文标题】:What is best approach for iPhone location tracking app in the background [closed]iPhone位置跟踪应用程序在后台的最佳方法是什么[关闭] 【发布时间】:2014-03-20 22:57:27 【问题描述】:

我正在尝试为在后台跟踪位置的位置跟踪 iPhone 应用程序提出最佳方法。

后台模型与 android 和 Windows Phone 平台略有不同,我不确定如何获得最佳结果。

我想要完成的是:

即使我的应用已终止,也会定期在后台运行作业 在后台作业期间在后台获取当前用户位置 作业使用 POST Http 请求将位置提交到我的服务器

大多数后台方法对我不起作用,因为它们要求应用程序不被终止。即使应用程序终止,我也想提交位置。我也不关心我的后台作业多久被系统执行一次,一分钟一次,一小时一次或一天一次。只要系统允许,我就经常需要它。我找到了两种可能的解决方案:

    后台获取 远程通知

问题是:我可以

ios 让我有机会执行时获取用户位置 我的后台工作(我相信,是的,使用“位置更新”模式 启用,但我不确定)? 向后端服务器提交位置 (不是获取而是提交,使用 POST http 方法)?

请指教。 替代解决方案表示赞赏。

【问题讨论】:

这个问题似乎是题外话,因为 Stack Overflow 是针对有明确答案的编码的具体问题。讨论高级设计概念和最佳实践更适合programmers.stackexchange.com。请阅读this meta post了解更多信息。 如果它太宽泛,为什么它会产生投票和问题/回答嗡嗡声?请取消保留此主题。我有具体的问题,不是抽象的问题 我看不到连接。它已经收到投票(其中一个是反对票,顺便说一句)和一些回应的事实并不表明它适合 Stack Overflow。话题性的衡量标准不是问题是否被所有读者完全忽略。另请注意,Close Votes 审查是一致的 - 没有一个人投票“保持开放”。我支持我之前的评论和投票:这是一个设计/讨论问题,不是编码问题,属于programmers.stackexchange.com。请阅读我之前评论中的链接元帖子。 【参考方案1】:

最好的方法是使用苹果的核心位置api

它提供了多种方法来根据所需的准确性或电池寿命考虑来跟踪用户位置

您可以在通知中心注册位置信息....手机会在特殊情况下定期启动您的应用程序(它不会启动完整的东西),以便您可以相应地更新您的数据和应用程序变量

这样,应用是否打开都无关紧要

你需要看的两件事是通知中心和核心位置api

这里是 api 参考的链接 核心位置框架参考

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html

【讨论】:

仅与位置获取有关吗?我对获取位置没有任何问题。我正在尝试想出在后台定期执行它的方法,而无需将我的应用程序置于前台甚至后台。 我刚刚添加了一些关于使用通知中心的内容...如果您在通知中心注册,手机将在特殊情况下启动您的应用...如果您查看应用委托,您会注意到它在启动时有一个特殊选项的位置......我自己从来没有做过,但我知道这是最好的方法 核心位置对我不起作用。我的总体目标是即使应用程序终止也能保持更新的后端。看:“如果您的应用程序被用户或系统终止,系统不会在新的位置更新到达时自动重启您的应用程序。用户必须在位置更新恢复交付之前明确地重新启动您的应用程序” 您需要使用“重大位置更改”通知developer.apple.com/library/ios/documentation/userexperience/… 如果您的应用被终止,该通知将被发送(尽管在 7.0 中,如果用户明确终止您的应用,则不会发送 -显然这种行为在 7.1 中发生了变化) 有趣!我可以通过网络请求提交收到的数据吗?

以上是关于iPhone位置跟踪应用程序在后台的最佳方法是啥[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

跟踪 iPhone 位置的最准确方法是啥?

在 iPhone 上构建“查找最近”位置感知应用程序的最佳方法是啥?

是否可以在 iPhone 上的 phonegap 应用程序中在后台跟踪 gps 位置?

Apple Watch 与 iPhone 通信的最佳方式是啥? [关闭]

为 iPhone / iPad 编写单元测试的最佳方法是啥?

最佳实践 - iPhone 后台应用模式