如何在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的后台获取位置[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中获取 iPhone 位置,无需将“位置服务”设置为“开”
应用程序暂停时如何在 iPhone 上获取屏幕锁定/解锁事件?