Tag: ios background mode

定期iOS背景位置更新

我正在写一个应用程序,需要高精度和低频率的背景位置更新。 该解决scheme似乎是一个后台NSTimer任务,启动位置pipe理器的更新,然后立即closures。 这个问题之前已经被问到: 如何在iOS应用程序中每隔n分钟更新一次后台位置? 应用程序转到后台后,每n分钟获取一次用户位置 iOS不是典型的后台位置跟踪计时器问题 具有“位置”后台模式的iOS长时间运行后台计时器 基于位置跟踪的iOS全职后台服务 但我还没有得到一个最低工作的例子 。 在对上述接受的答案进行了各种排列之后,我总结了一个起点。 进入背景: – (void)applicationDidEnterBackground:(UIApplication *)application { self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"ending background task"); [[UIApplication sharedApplication] endBackgroundTask:self.bgTask]; self.bgTask = UIBackgroundTaskInvalid; }]; self.timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self.locationManager selector:@selector(startUpdatingLocation) userInfo:nil repeats:YES]; } 和委托方法: – (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"%@", newLocation); NSLog(@"background time: %f", [UIApplication […]