据我了解,我的应用程序将接收到以下方法的消息:
- (void) locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
即使它在后台(如果我设置正确的话)。
在此方法中我可以做什么?我想存储坐标等是可以的,但是我可以发出服务器请求并传递我的坐标吗?
最佳答案
您可以使用标准定位服务,这也需要您在 plist 中声明您的应用需要不间断后台执行。这将允许您的应用程序在后台无限期执行,但会消耗大量电力资源。您可以进行网络服务调用或提供其他方式与用户交互。
对于非导航应用,第二种推荐方法是使用显着变化位置服务,只有当用户位置发生重大变化时,它才会“唤醒”您的应用进入后台模式。在这种情况下,您有有限的时间来完成代码执行,不建议进行 Web 服务调用,因为它们可能无法在有限的时间内完成并导致应用程序被操作系统终止。
有关详细信息,请参阅 iOS Application Programming Guide 还有 Location Awareness Programming Guide
关于iphone - 当 didUpdateToLocation 收到消息时,我可以在后台做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748143/