在多任务处理模式下下载大数据?

nam*_*ess 1 iphone ipad ios4 ios

我在一个单独的viewcontroller中从ASynchronous NSURLConnection下载大数据.下载数据需要2分钟.它工作正常.但是当我通过退出应用程序进入后台模式并再次打开时,启动画面会强制关闭应用程序.当下载小数据时,它在后台模式下在同一个视图控制器中工作正常.我在读取苹果的有限长度后使用了以下代码documnet.但它没有用?请帮忙吗?

 - (void)applicationDidEnterBackground:(UIApplication *)application
 {

    UIApplication  *app = [UIApplication sharedApplication];
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
      [app endBackgroundTask:bgTask]; 
      bgTask = UIBackgroundTaskInvalid;
    }];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{});

    [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid;

}
Run Code Online (Sandbox Code Playgroud)

ilh*_*tin 5

哟需要在多线程概念中做一些工作(如下载).我认为是一个非常好的教程,确切地提到了你的问题(也解决了它:)我希望它有所帮助

编辑:Apple说你可以在后台继续下载.

后台任务

继续网络传输是显而易见的

应用后台任务.如果用户启动大型传输然后切换出应用程序,则可以启动后台任务以继续传输.如果一切顺利,转移将在用户下一次将应用程序带到前面之前完成.在您的应用程序中实现后台任务支持时,您无需为"在后台"和"在前台"情况下使用单独的逻辑.