我正在尝试更好地了解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]); }
}
点击按钮后,我按下主页按钮,将应用程序发送到后台。我期待很快就会停止(没有特殊背景模式的应用程序的最长时间是什么,可以在后台运行,BTW?)。相反,它只是永远。 10分钟后我停了下来。即使backgroundTimeRemaining
返回0,它也会继续。
发生了什么事?
PS我在安装了iOS 7的4S上运行它。
答案 0 :(得分:0)
检查您是否具有以下功能
<强>应用:performFetchWithCompletionHandler 强>
看似简单,但尝试添加此行或删除处理函数
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalNever];