objective-c - 当应用程序未激活时 iOS 后台下载

标签 objective-c ios ios5 background download

最初下载我的应用程序时,用户需要下载一个大约 200MB(上限)的大文件。我绝对不能指望用户在下载此文件之前让应用程序保持打开状态。所以他/她可能会关闭该应用程序,该应用程序将进入后台。

在这种情况下如何继续下载文件?这在 iOS 中甚至可能吗?

最佳答案

在您的 - (void)applicationDidEnterBackground:(UIApplication *)application 中添加以下内容

UIApplication  *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask;

bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
        [app endBackgroundTask:bgTask]; 
}];

你很高兴......我在我发布的下载管理器应用程序之一中有这个

这会很好用。您还可以检查您有多少时间,因为苹果只启用 10 分钟的后台任务。使用:

NSTimeInterval ti = [[UIApplication sharedApplication]backgroundTimeRemaining];
NSLog(@"backgroundTimeRemaining: %f", ti); // just for debug

关于objective-c - 当应用程序未激活时 iOS 后台下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861390/

相关文章:

ios - 如何使用同一类为每个目标执行不同的功能?扩展和协议(protocol)让我失望

iphone - 将本地sqlite数据库移动到远程服务器ios 5

objective-c - NSCollectionView 的问题

ios - 每个部分的动态行

objective-c - 如何使用kiwi测试函数调用的参数?

ios - CoreData 的 iOS 搜索时间令人失望

objective-c - 部分单元格在设备上显示分隔符,但在模拟器中不显示

objective-c - 当uialertview进入其委托(delegate)方法时如何隐藏它?

objective-c - 从 Core Data 中删除选定的 NSTableView 行?

Objective-C 访问 block 内的属性