在WatchOS 4上没有收到背景gps更新

时间:2017-09-23 00:27:58

标签: watchkit watch-os-4

将此问题与答案一起发布,以便其他人可以找到答案。

我们在商店有一个应用程序,用于记录活动的路径。当我们将WatchOS更新到版本4时,我们的背景gps更新在应用程序转换为后台时停止。

1 个答案:

答案 0 :(得分:5)

一些研究发现Apple's Developer site上的这个链接显示我们需要在位置管理器中设置一个新属性。

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
if (@available(watchOS 4.0, *)) {
    self.locationManager.activityType = CLActivityTypeOther;
    self.locationManager.allowsBackgroundLocationUpdates = YES; // NEW!!
}

[self.locationManager startUpdatingLocation];

看到标有“NEW !!”的行这就是允许应用再次接收后台位置更新的原因。您还需要设置链接中提到的属性。

  

希望在暂停时接收位置更新的应用必须包含   应用程序中的UIBackgroundModes键(具有位置值)   Info.plist文件并将此属性的值设置为YES。该   存在具有位置值的UIBackgroundModes键   后台更新所需