iOS - backgroundTimeRemaining值未显示预期值

App*_*Dev 6 time background multitasking ios

我正试图检查它的值backgroundTimeRemaining,但是我得到了一个非常大的数字.该属性的值被认为是相应于10分钟aprox的,而苹果文档中i`ve阅读这里,这样的值大时,应用程序是在前台.但是,即使在后台,我也会获得很大的价值:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
   bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
      [application endBackgroundTask:bgTask];
      bgTask = UIBackgroundTaskInvalid;
   }];

   // Background task
   NSTimeInterval timeRemaining = [UIApplication sharedApplication].backgroundTimeRemaining;
   NSLog(@"Background time remaining: %f seconds (%d mins)", timeRemaining, (int)(timeRemaining / 60));

   dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      NSTimeInterval timeRemaining = [UIApplication sharedApplication].backgroundTimeRemaining;
      NSLog(@"Background time remaining: %f seconds (%d mins)", timeRemaining, (int)(timeRemaining / 60));

      // Perform task

      // Finished
      if (bgTask != UIBackgroundTaskInvalid) {
         [application endBackgroundTask:bgTask];
         bgTask = UIBackgroundTaskInvalid;
      }
  });

  // Start location manager
  if ([CLLocationManager locationServicesEnabled]) {          
     [locationManager startUpdatingLocation];
  }
}
Run Code Online (Sandbox Code Playgroud)

我能错过什么?提前致谢

Gor*_*ove 3

从 Xcode 运行时,看门狗定时器被禁用。

在未连接的情况下运行时,我大多会得到合理的值(即 600),但我仍然偶尔会得到奇怪的值。