当didUpdateToLocation收到消息时,我可以在后台执行什么操作?

据我了解,我的应用程序将收到消息的方法:

- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 

即使是在后台(如果我设置正确的话)。

我可以用这种方法做什么? 我想可以存储coords等,但是我可以提出一个服务器请求并传递我的坐标吗?

你可以使用标准的位置服务,这也需要你声明你的应用程序需要在plist中不间断的后台执行。 这将允许您的应用程序无限期地在后台执行,代价是显着的电源资源。 您可以进行Web服务调用或提供其他方式与用户进行交互。

对于非导航应用程序而言,第二种推荐的方法是使用重大更改的位置服务,当用户的位置发生重大变化时,只会将应用程序“唤醒”到后台模式。 在这种情况下,您将获得有限的时间来完成代码执行,不build议进行Web服务调用,因为它们可能在有限的时间内无法完成,并导致应用程序被操作系统终止。

有关更多信息,请参阅“ iOS应用程序编程指南”以及“ 位置感知编程指南”

你应该可以发送一个请求(即操作系统不会阻止你),但是由于你只有有限的时间,所以不能保证它会通过 – 特别是如果你还需要服务器的响应。