Я пытаюсь отслеживать местоположение, используя locationManager
в фоновом режиме каждый «промежуток времени», когда приложение находится в фоновом режиме.Периодическое расположение в фоновом режиме в iOS9
Работает отлично на iOS 8 iPhone 6 - но я продолжаю заканчивать через 2,5 - 3 минуты, iOS в iOS 9 iPhone 6s.
Мой главный вопрос - в чем разница между iPhone 6 iOS 8 и 6s iOS 9? лучший сторожевой таймер для фоновых задач? если да, то как я могу это решить?
Я сеял решения, которые включают снижение точности, чтобы сократить время автономной работы, а не временные интервалы. Я не хочу этого, потому что пользователь все время видит индикацию контроля местоположения (полная стрелка).
часть моего кода -
-(void)initialize
{
self.locationManager = [[CLLocationManager alloc]init];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.distanceFilter = 5;
self.locationManager.delegate = self;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(addMonitorsBeforeWillTerminate)
name:UIApplicationWillTerminateNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidEnterBackgroundNotification object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
[[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:nil];
}];
[self.locationManager startUpdatingLocation];
}
благодаря
Найти мой ответ здесь, это может быть полезно , http://stackoverflow.com/questions/34512007/periodic-sending-small-data-to-server-in-background-mode/34512750#34512750 – technerd
Вы спасли мне жизнь, спасибо! – ozd