即使手机被锁定,也会进行后台下载

时间:2011-11-28 10:52:28

标签: iphone background multitasking

我正在尝试为iPhone实现一个应该只是从网上下载一些内容的应用程序。这个下载非常大,所以我将下载作为后台任务实现,让用户有机会在下载时用手机做其他事情。我的问题是,如果用户按下锁定按钮(或者如果启动了自动锁定),则会调用appDelegate中的applicationWillResignActive:大约十秒后,下载将中止,因为手机没有进入后台并且只是保持不活动状态。

我的问题是我做错了什么?即使手机已锁定,我如何确保继续下载?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要使用后台任务块包围下载代码,如下所示:

UIApplication* app = [UIApplication sharedApplication];
        UIBackgroundTaskIdentifier bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
            //here you need to finish what you are doing evven if you've not finished yet, otherwise your app will be killed
            [app endBackgroundTask:bgTask];
        }];

        //here comes your downloading code

        [app endBackgroundTask:bgTask];

这将给你10分钟(根据其他一些帖子)在后台执行代码......