如何在iphone的后台获取位置[关闭]

Posted

技术标签:

【中文标题】如何在iphone的后台获取位置[关闭]【英文标题】:How to get location in background on iphone [closed] 【发布时间】:2014-04-25 12:36:51 【问题描述】:

我正在开发在后台获取位置的应用程序,即使应用程序也被杀死。

我的代码在模拟器中运行良好。但不适用于任何 ios 设备。我也在 iphone5s 版本(7.1) iphone4s(7.1) ipad 7.1 中测试过。

这是我的代码链接: https://www.dropbox.com/sh/1x0uuhk0xb35bct/DUhQ20wC2j

请下载并建议我。 提前致谢。

【问题讨论】:

如果您的应用程序被杀死,则无法继续进行位置跟踪。您的应用程序是否正在运行取决于用户。也只是发布你的代码而不指定什么是有效的,什么是无效的,这不是一个很好的提问方式。阅读How do I ask a good question @rckoenes 如果您的应用注册了重要的LocationChange,即使它没有运行,您的应用也会收到位置更新。 @Apurv 这没有任何意义,如果您的应用程序没有运行,那么您将无法处理任何位置更改,因为您的应用程序没有运行。您的意思是,如果有后台模式locationtackin,那么是的,当您的应用程序处于后台时,您将收到位置更新。但是,如果您的应用程序被终止,则无法继续运行代码。 @rckoenes,请参阅 Apple 文档中的此声明。 “如果你启动了这个服务并且你的应用程序随后被终止,如果有新的事件到达,系统会自动在后台重新启动应用程序。” @Apurv 我已纠正,documentation 确实提到了这一点。尽管根据我的经验,我的应用程序在被杀死后再也没有启动过。 【参考方案1】:

在这种情况下,当您的应用程序被移至后台时,您应该注册重大位置更改。

- (void)applicationDidEnterBackground:(UIApplication *)application

     [locationManager stopUpdatingLocation];
     [locationManager startMonitoringSignificantLocationChanges];

当应用程序处于活动状态时,您应该进行反向以积极跟踪用户。

【讨论】:

以上是关于如何在iphone的后台获取位置[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

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

在 iOS 中获取 iPhone 位置,无需将“位置服务”设置为“开”

应用程序暂停时如何在 iPhone 上获取屏幕锁定/解锁事件?

关于在 iPhone 应用程序在后台时确定关闭位置的建议

如何在后台找到运行 VBScript 的文件位置? [关闭]

如何在iphone上的地图中获取当前位置