如何在ios7的后台运行进程

我想继续在前台和后台运行我的进程。我已经实现了以下代码

self.updateTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(repeatedMethod) userInfo:nil repeats:YES]; self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"Background handler called. Not running background tasks anymore."); [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask]; self.backgroundTask = UIBackgroundTaskInvalid; }]; 

在前台很好,但在后台进程只运行了5分钟,并没有超过这个运行。但我希望它连续运行,即使在后台也。请帮助。

发生这种情况,因为completionHandler在5分钟后被调用。在iOS中无法无限期地运行后台进程,直到您使用其中一个UIBackgroundMode,并且依赖于您必须提供BackgroundMode的function,如果您在应用程序中使用它否则苹果会拒绝它。

例如,如果您使用“VoiP”BackgroundMode,则应用程序应提供“VoiP服务”,否则将被拒绝