我正在尝试为 iPhone 实现一个应用程序,该应用程序应该简单地从网络上下载一些内容。此下载非常大,因此我将下载实现为后台任务,以便用户在下载时有机会使用手机执行其他操作。我的问题是,如果用户按下锁定按钮(或者自动锁定启动),则调用 AppDelegate 中的 applicationWillResignActive: ,大约十秒后下载将中止,因为手机不会进入后台并且只是保持不活动状态。
我的问题是我做错了什么?即使手机被锁定,如何确保继续下载?
提前致谢。
您需要使用后台任务块包围下载代码,如下所示:
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 分钟(根据其他一些帖子)在后台执行代码...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)