NSUrlSessionDownloadTask - 进入后台时 didCompleteWithError

2023-11-22

当我通过按电源按钮强制设备进入睡眠模式时,我的后台任务通过调用委托方法停止didCompleteWithError出现错误:

操作无法完成。不允许操作

如何配置我的 NSURLSession 即使在睡眠模式下也能继续下载?

有可能吗?如果没有,我有什么选择?我需要下载一个 300Mb 的文件,因此在连接速度较低的情况下,应用程序将在下载结束之前进入睡眠模式。

这是我的会话的创建:

static NSURLSession *backgroundSession;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
   backgroundSession = [NSURLSession sessionWithConfiguration:
                       [NSURLSessionConfiguration backgroundSessionConfiguration:
                       @"com.myapp.mytask"] delegate:self.
                       myDelegate delegateQueue:self.myQueue];
});

NSURLSessionDownloadTask *task = [backgroundSession downloadTaskWithRequest:
                                  self.urlRequest];
[task resume];

问题是数据保护能力被激活。启用后,所有文件都存储为NSFileProtectionComplete默认情况下,即使是用于下载的临时文件NSURLSession:

默认的保护级别是完全保护,其中文件 当设备锁定时,它们会被加密且无法访问。你可以 以编程方式设置您创建的文件的保护级别 应用程序,如 iOS 中的“使用磁盘加密保护数据”中所述 应用程序编程指南。

With NSFileProtectionComplete在该文件上激活,当设备锁定时您无法访问它。

我不确定临时下载文件是否可以配置为不使用数据保护,这似乎没有被暴露NSURLSession.

Source: 应用分发指南

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSUrlSessionDownloadTask - 进入后台时 didCompleteWithError 的相关文章

随机推荐

  • 追踪 React 组件重新渲染的原因

    是否有系统的方法来调试导致组件在 React 中重新渲染的原因 我放置了一个简单的 console log 来查看它渲染了多少次 但我很难弄清楚是什么导致组件渲染多次 即在我的情况下 4 次 是否存在显示时间线和 或所有组件树渲染和顺序的工
  • 如何将*可选*引用返回到 RefCell 内容中

    我有一种类型 将其数据存储在后面的容器中Rc
  • 在 Mac App Bundle 中嵌入框架

    我正在尝试将 SDL 和 SDL ttf 框架添加到我的应用程序中 并且我已经按照通常的方式完成了操作 将它们添加到 将二进制文件与库链接 部分中 并添加了一个复制文件阶段 将它们复制到 Frameworks 目录 这确实创建了一个带有嵌入
  • Angular 2 隐藏字段的表单验证

    我有一个银行贷款申请 其中包含很多输入字段 其中一些是隐藏的 隐藏字段根据一组条件动态显示 例如 如果您选择选项 1 则会显示隐藏字段 并隐藏一些其他字段 如果您选择选项 2 某些字段将显示 其他字段将隐藏 在表单的末尾 我有一个 这意味着
  • 如何让 SASS 嵌套的嵌套媒体查询与媒体查询或运算符的使用一起使用

    我正在尝试让嵌套的 IE10 媒体查询在 SASS 中工作 但我不理解输出 我认为使用媒体查询会让事情变得很奇怪or操作员 因此 此查询不会适用于所有情况 因为唯一输出的是查询的一侧or 请注意 这些最初是 mixin 我删除了 mixin
  • JPA Criteria Builder OneToMany 限制

    我有一个与子表具有 OneToMany 关联的父级 我正在尝试使用 CriteriaBuilder 编写一个查询来限制从 Child 表返回的结果 我正在添加一个谓词 例如 cb equal parent get children get
  • 线程队列工作示例[重复]

    这个问题在这里已经有答案了 在下面的代码中如何将最大打开线程数限制为 20 我知道过去曾提出过一些类似的问题 但我特别想知道如何使用队列最好地完成此操作 并在可能的情况下使用工作示例 b is a list with 10000 items
  • 如何处理从Delphi 6和WinXP到Delphi 2007和Vista/Win7的窗体大小问题

    我有一个用 Delphi 6 编写并在 Windows XP 上编译的应用程序 通常我在控件和表单边缘之间留出 8px 的空闲空间 当此应用程序在 Vista 或 Win 7 上运行时 这种差距会更小或根本不存在 我认为这可能是因为这些版本
  • 数组的 getter 和 setter

    我有一些关于数组的 getter 和 setter 的问题 假设我们有一个这样的类 它在其构造函数中创建一个数组的私有副本 import java util Arrays public class Foo private int array
  • UITableView 上的 UISearchBar 奇怪的偏移问题

    我有一个UITableView其中有一个UISearchBar子视图 这一切都在一个人的观点上UIViewController以及一些其他子视图 标签 文本字段等 表格的搜索栏和内容偏移量的行为非常奇怪 但它似乎取决于这些视图添加到 xib
  • Azure webjob似乎不尊重MaxDequeueCount属性

    我有一个带有多个队列触发函数的 Azure webjob SDK 文档位于https learn microsoft com en us azure app service web websites dotnet webjobs sdk s
  • 适用于 Blob 的 Azure Python SDK - 导入错误:无法导入名称“BlobClient”

    我正在编写代码从 Azure 下载 Blob 但无法导入BlobClient from azure storage blob import BlobClient cs CONNECTION STRING blob BlobClient fr
  • 从节点获取所有最后一级子节点(叶子)(分层查询 Oracle 11G)

    我正在尝试并寻找方法从节点获取所有最后一级子节点 叶子 在 Oracle 11g 数据库中的分层查询中 我有两个表 节点 所有节点及其各自值的列表 和指定父子关系的 关系 节点 ID NODE VALUE 1 3 2 6 3 9 4 2 5
  • kotlin 反射检查可空类型

    如何测试 KType 变量是否包含可空 kotlin 类型的值 例如 Int I have var type KType 变量来自于KProperty lt gt returnType我需要检测它是否等于某些 kotlin 类型 Int L
  • 如何使用 Moq 来满足单元测试的 MEF 导入依赖关系?

    这是我的界面 public interface IWork string GetIdentifierForItem Information information 和我的班级 public class A IWork ImportMany
  • Google Play 服务生成 OAuth2.0 客户端时出错

    我正在尝试在我已经发布的应用程序中测试 Google Play 服务功能 我通过下面的链接来做到这一点 https developers google com games services console enabling 当我尝试授权该应
  • 音频处理:播放音量

    我想从应用程序包中读取声音文件 复制它 使用其最大音量级别 增益值或峰值功率 我不确定它的技术名称 播放 然后将其作为另一个文件写入包中再次 我做了抄写部分 生成的文件与输入文件相同 我使用 AudioToolbox 框架中 AudioFi
  • ElasticSearch NEST 客户端未返回结果

    我正在通过 ElasticSearch NEST C 客户端运行一个简单的查询 当我通过 http 运行相同的查询时 我收到结果 但我从客户端返回的文档为零 这就是我填充数据集的方式 curl X POST http localhost 9
  • 如何设置pandas数据框数据左/右对齐?

    I use pd set option display colheader justify right 设置列标题 但我找不到数据选项pd describe option 如何设置数据框中的数据每列显示左对齐或右对齐 或者 是否可以定义整行
  • NSUrlSessionDownloadTask - 进入后台时 didCompleteWithError

    当我通过按电源按钮强制设备进入睡眠模式时 我的后台任务通过调用委托方法停止didCompleteWithError出现错误 操作无法完成 不允许操作 如何配置我的 NSURLSession 即使在睡眠模式下也能继续下载 有可能吗 如果没有