ios - 如何在后台ios9中定期获取位置并将位置发送到服务器

标签 ios objective-c iphone background ios9

我希望我的应用每 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/

相关文章:

ios - 具有默认样式分组的 UITableView 子类

ios - 核心数据架构

objective-c - 如何随机化 NSArray?

iphone - iPhone 中的声音 map

ios - 如何停用 itunes 中的应用程序?

ios - 如何根据另一个数组元素更新数组的所有对象

ios - iTunes 没有显示 React Native App 支持的语言

ios - 如何在同一台 iOS 设备上将文件从一个应用程序传输到另一个应用程序?

ios - 背景颜色的 alpha 在 iOS 中不起作用

iphone - 如何防止 iPhone 自动旋转