UIApplication* app = [UIApplication sharedApplication];
_backgroundTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:_backgroundTask];
_backgroundTask = UIBackgroundTaskInvalid;
}];
[self startTimer];
NSLog(@"backgroundTimeRemaining: %.0f", [[UIApplication sharedApplication] backgroundTimeRemaining]);
-(void)startTimer
{
self.updateTimer = [NSTimer scheduledTimerWithTimeInterval:60.0
target:self
selector:@selector(repeatedMethod)
userInfo:nil
repeats:YES];
}
我能當我的應用程序是在前臺,但是當我來到後臺,如果 backgroundTimeRemaining:10
正在運行3分鐘,但是當backgroundTimeRemaining:176
它成功運行不斷運行。有一件事我不明白的是爲什麼backgroundTimeRemaining
顯示不同的數字。如何在後臺連續運行過程。我需要提到的一件事是我的後臺進程包含位置更新。我對ios很陌生。任何幫助將是可觀的。如何在後臺繼續在iOS上運行位置更新
我已經在info.plist中添加了位置更新所需的背景模式。我正在viewcontroller中進行位置更新。並且我正在使用定時器調用appdelegate(repeatedMethod)中的該方法。 – user3496682