2016-10-14 21 views
0

我是iOS开发新手,在我的应用程序中,我想获得坐标并在满足特定条件后发送到服务器。当应用程序处于前景我可以得到坐标,但问题是当应用程序在后台或终止时,我将如何获得坐标。 我已经经历了许多其他类似的帖子,但没有找到任何好的解决方案。 苹果文档说,使用startMonitoringSignificantLocationChanges()作为背景使用,但我希望在特定的距离覆盖后或特定的时间后,我想获得坐标。在后台获取经纬度并向服务器发送数据iOS

allowDeferredLocationUpdatesUntilTraveled() 

可能是我的用途,但我不知道它的工作原理,当应用程序在后台或遇难。

回答

0

如果您的iOS应用程序即使在后台也必须保持监视位置,请使用标准位置服务并指定UIBackgroundModes键的位置值,以继续在后台运行并接收位置更新。 (在这种情况下,您还应确保地理位置经理的pausesLocationUpdatesAutomatically媒体资源设置为true以帮助节省电量。)可能需要此类位置更新的应用的示例是健身或转由转动的导航应用。

所以请注意,如果您不符合Apples对背景使用的要求,您的应用可能会被拒绝。

关于:

我想,经过特定的覆盖距离或特定时间 后,我想要得到的坐标

你可以改变locationManager.distanceFilter到多久应该更新位置。

阅读更多在苹果开发商site

+0

此外,您还需要创建一个CLLocationManagerDelegate,并且可以使用回调函数didUpdateLocation来处理新的位置更新。此外,要开始这个,你首先需要实例化一个CLLocationManager并调用startUpdatingLocation – Simon

相关问题