gpt4 book ai didi

IOS:在后台下载多个文件

转载 作者:行者123 更新时间:2023-11-28 22:11:54 31 4
gpt4 key购买 nike

我正在开发一个必须下载多个文件的应用程序。当应用程序处于前台时,我没有任何问题。
要在应用程序处于后台时继续下载,我使用以下代码(来自 iOS Background downloads when the app is not active):

    self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{            [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];            self.backgroundTask = UIBackgroundTaskInvalid;        }];        /* Here your downloading Code, let say getDataFromServer method */        [self getDataFromServer]; // Its dummy method        /* Your downloading Code End Here */        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{            [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];            self.backgroundTask = UIBackgroundTaskInvalid;        });

此代码在设备屏幕打开之前是可以的。但是当设备进入待机状态时,会发生一些事情并且下载停止。可能 ios 关闭了我的后台进程的事件互联网连接。

在 IOS 6 和 7 中有没有办法在待机期间保持连接事件?

最佳答案

beginBackgroundTaskWithExpirationHandler 将只允许大约 10 分钟的后台时间来完成长时间运行的进程,例如将大量用户数据保存到磁盘。这不应该用于文件下载,推荐的在后台下载文件的方法是使用 NSURLSessionNSURLSessionDownloadTask

关于IOS:在后台下载多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22708766/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com