我希望我的应用每 15 分钟获取一次位置并将位置信息发送到服务器。 在服务器中,我比较了位置并将响应作为通知发送给客户端(几乎类似于推送通知,但在我的服务器上)。
最佳答案
您可以将 CLLocation Managers 授权设置为 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 Periodic iOS background location updates
关于ios - 如何在后台ios9中定期获取位置并将位置发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896393/