NSOperationQueue继续在后台运行,即使它没有配置为

时间:2016-07-10 14:39:05

标签: ios nsoperationqueue

在我的应用程序能够继续运行NSOperations之后,在NSOperationQueue移动到后台后,我发现无论如何都会发生这种情况,即使没有任何指定它应该继续在后台运行。

以下代码将在应用程序移至后台后继续记录“已完成”,它将继续执行此操作,直到所有50个任务都已执行完毕。

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
queue.maxConcurrentOperationCount = 1;

for (int i = 0; i < 50; i++) {
    [queue addOperationWithBlock:^{
        sleep(3);
        NSLog(@"Finished %u", i);

        switch ([UIApplication sharedApplication].applicationState) {
            case UIApplicationStateActive:
                NSLog(@"App is active");
                break;
            case UIApplicationStateInactive:
                NSLog(@"App is NOT active");
                break;
            case UIApplicationStateBackground:
                NSLog(@"App is in the background");
            default:
                break;
        }
    }];
}

我在这里缺少什么?我认为,一旦应用程序进入后台,执行就会停止,如果我需要,我必须明确地运行后台任务。

0 个答案:

没有答案
相关问题