NSURLSession 后台上传 - 需要启用后台模式吗?
NSURLSession background upload - need to enable background modes?
我正在实例化一个 NSURLSession
来执行多个后台上传,如下所示:
sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier];
大部分情况下一切似乎都正常,但我想知道如果我所做的只是后台上传而不是下载,是否需要在 p.list 后台 Fetch 键中添加?我找不到说明我应该或不应该的文件。特别是在 XCode 5 + 上,我想知道是否在 Capabilities>Background modes 下,我应该启用或不启用后台获取,如果我所做的只是后台上传,请注意我确实在上传后阅读了响应完成,可以认为是"download".
官方指南Background Execution声明三种后台执行类型:
- 执行有限长度任务 - 使用
UIApplication
方法
beginBackgroundTaskWithName:expirationHandler:
执行有限
时间任务.
- 正在后台下载内容 - 使用
NSURLSession
下载内容。您的应用提供的 NSURLSession
运行
单独的系统级守护进程,完成后返回到应用程序
完成处理程序。 (你上面提到的实现)
- 实施长期运行任务 - 需要运行宁的任务
很长一段时间,都在这个类别下处理,如音频,voip,
位置、下载过程、更新内容。这些类型的任务
需要 info.plist.
中提到的特殊 UIBackgroundModes
键
因此,在回答您的问题时,您不需要 UIBackgroundModes
密钥,除非您不属于 运行 宁任务类别。
我正在实例化一个 NSURLSession
来执行多个后台上传,如下所示:
sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier];
大部分情况下一切似乎都正常,但我想知道如果我所做的只是后台上传而不是下载,是否需要在 p.list 后台 Fetch 键中添加?我找不到说明我应该或不应该的文件。特别是在 XCode 5 + 上,我想知道是否在 Capabilities>Background modes 下,我应该启用或不启用后台获取,如果我所做的只是后台上传,请注意我确实在上传后阅读了响应完成,可以认为是"download".
官方指南Background Execution声明三种后台执行类型:
- 执行有限长度任务 - 使用
UIApplication
方法
beginBackgroundTaskWithName:expirationHandler:
执行有限 时间任务. - 正在后台下载内容 - 使用
NSURLSession
下载内容。您的应用提供的NSURLSession
运行 单独的系统级守护进程,完成后返回到应用程序 完成处理程序。 (你上面提到的实现) - 实施长期运行任务 - 需要运行宁的任务 很长一段时间,都在这个类别下处理,如音频,voip, 位置、下载过程、更新内容。这些类型的任务 需要 info.plist. 中提到的特殊
UIBackgroundModes
键
因此,在回答您的问题时,您不需要 UIBackgroundModes
密钥,除非您不属于 运行 宁任务类别。