我希望我的应用程序每15分钟获得位置,并将位置信息发送到服务器。在服务器中,我比较位置并将响应作为通知发送给客户机(几乎像推送通知,但在我的服务器上)。
发布于 2016-06-18 12:22:03
您可以将CLLocation管理器授权设置为requestAlwaysAuthorization,以连续获取位置(即使您的应用程序处于后台)。
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
{
[self.locationManager requestAlwaysAuthorization];
}注意: requestAlwaysAuthorization是电池密集型的,苹果的评审员会期望你的应用程序能有一个很好的理由来使用它。同时,确保在所需的背景模式下检查“位置更新”。
您可以使用NSTimer来确定15分钟,并从上面的CLLocationManager获取位置。
之后,可以使用后台任务将位置更新到服务器。
如果您有任何疑问,可以按照以下链接进行操作:http://www.creativeworkline.com/2014/12/core-location-manager-ios-8-fetching-location-background/ http://mobileoop.com/background-location-update-programming-for-ios-7 周期性iOS背景位置更新
发布于 2016-06-18 12:21:12
请看一下苹果文档。
从指南中可以看到一些要点,您可能对苹果文档中的下面一节感兴趣。
对于不需要高精度位置数据的应用程序,强烈推荐使用重大更改位置服务。使用此服务,只有当用户的位置发生显著变化时才会生成位置更新;因此,对于向用户提供非关键的位置相关信息的社交应用程序或应用程序来说,这是非常理想的。如果在更新发生时应用程序被挂起,系统会在后台唤醒它来处理更新。如果应用程序启动该服务,然后终止,系统将在新位置可用时自动重新启动该应用程序。此服务可在iOS 4及更高版本中使用,并且仅在包含蜂窝无线电的设备上可用。
有关实现细节,请看一看获取位置事件背景(Ios)
https://stackoverflow.com/questions/37896393
复制相似问题