我想在前台和后台持续运行我的进程。我实现了以下代码
I want to run my process in fore ground and background continuously.I've implemented the following code
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分钟, 。
In foreground it is fine but in background process is running for just 5 mins and not running more than that.But I want it to run continuously even in background also.please help.
推荐答案这是因为completionHandler是在后面调用的。 5分钟。您无法在iOS中无限期运行后台进程,直到您使用 UIBackgroundModes ,并且它也依赖于你必须提供BackgroundMode的功能,如果你在你的应用程序中使用它,否则苹果会拒绝它。
Thats happening, because the completionHandler is called after 5 mins.You cannot run a background process for indefinite period in iOS until you use one of the UIBackgroundModes and that too is dependent upon you must provide a functionality of BackgroundMode if you use it in your application otherwise apple will reject it.
例如,如果您使用VoiPBackgroundMode,您的应用程序应提供VoiP服务,否则将被拒绝
For example if you use "VoiP" BackgroundMode you application should provide "VoiP services" otherwise it will be rejected
更多推荐
如何在ios7的后台运行进程
发布评论