目标c - 重要的位置变化

时间:2012-03-11 15:19:46

标签: iphone objective-c ios core-location cllocationmanager

我正在构建一个客户端 - 服务器应用程序,我需要服务器始终知道当前的客户端位置。
因此,当客户端应用程序处于活动状态时,我会使用CLLocationManager每10分钟获取一次客户端位置并将其发送到服务器。
我的问题是当应用程序关闭时该怎么办?我知道我可以使用重要的位置更改来在应用关闭时获取位置更新,但是我可以将此位置更新发送到我的服务器而无需启动应用程序吗?我的意思是当应用程序关闭时,我希望它对用户透明,这可能吗?当我获得其中一个位置更新时,UI是否会发生某些事情?

2 个答案:

答案 0 :(得分:1)

您的应用程序将列在设置区域中,并显示位置指示器图标,您可以在这些更新发生时接收和处理(发送到服务器)。查看本教程:http://www.mindsizzlers.com/2011/07/ios-background-location/

答案 1 :(得分:1)

documentation,他们说

  

系统会自动将应用程序重新启动到   如果有新事件到达,则在这种情况下,传递给应用程序的选项字典:didFinishLaunchingWithOptions:应用程序委托的方法包含密钥UIApplicationLaunchOptionsLocationKey,表示您的应用程序是由于位置事件而启动的。

     

重新启动后,您仍必须配置位置管理器对象   调用此方法继续接收位置事件。当你   重启位置服务,将当前事件发送给您   立即代表。另外,你的位置属性   位置管理器对象使用最新位置填充   甚至在你开始定位服务之前对象

您可以将位置发送到服务器,而不显示任何UI元素。