0

我试图更好地了解 iOS 后台应用程序的行为。我有一个具有以下操作的按钮:

- (IBAction)createTask:(id)sender {


    for(int i = 0; i < 10000; ++i){
        NSURL *url = [NSURL URLWithString:@"http://agronigeria.com.ng/wp-content/uploads/2013/06/cocoa.jpg"];
        NSData *data = [NSData dataWithContentsOfURL:url];
        NSLog(@"Image number %d with size %lu", i, (unsigned long)[data length]);
        NSLog(@"Time before task is killed: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]);
    } 

}

当我点击按钮时,我按下主页按钮,将应用程序发送到后台。我期待这很快就会停止(顺便说一句,没有特殊背景模式的应用程序可以在后台运行的最长时间是多少?)。相反,它只会永远存在。10分钟后,我停了下来。即使backgroundTimeRemaining返回 0,它也会继续。

这是怎么回事???

PS 我在安装了 iOS 7 的 4S 上运行它。

4

1 回答 1

0

检查您是否具有以下功能

应用程序:执行FetchWithCompletionHandler

看起来很简单,但尝试添加这一行或删除处理函数

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalNever];
于 2013-10-08T14:58:58.750 回答