Ios NSURLSession后台上传-需要启用后台模式吗?

Ios NSURLSession后台上传-需要启用后台模式吗?,ios,iphone,xcode,nsurlsession,nsurlsessionuploadtask,Ios,Iphone,Xcode,Nsurlsession,Nsurlsessionuploadtask,我正在实例化一个nsursession,以执行以下几种后台上传: sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier]; 在大多数情况下,一切似乎都正常,但我想知道是否需要在p.list中添加background Fetch键,如果我所做的只是后台上传而不是下载?。我无法找到说明我应该或不应该的文件。特别是在XCode 5+上,

我正在实例化一个
nsursession
,以执行以下几种后台上传:

  sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier];
在大多数情况下,一切似乎都正常,但我想知道是否需要在p.list中添加background Fetch键,如果我所做的只是后台上传而不是下载?。我无法找到说明我应该或不应该的文件。特别是在XCode 5+上,我想知道在“功能>后台模式”下,我是否应该启用后台提取,如果我所做的只是后台上传,请注意,上传完成后我确实会阅读响应,这可以被视为“下载”。

官方指南声明了三种后台执行类型:

  • 执行有限长度任务-使用
    ui应用程序
    方法
    beginBackgroundTaskWithName:expirationHandler:
    执行有限 时间任务
  • 在后台下载内容-使用
    NSURLSession
    来 下载内容。应用程序提供的
    NSURLSession
    已在上运行 单独的系统级守护进程,完成后,通过 完成处理程序。(您的上述实施)
  • 执行长时间运行的任务-需要为其运行的任务 很长一段时间,都是在这个类别下处理的,比如音频,voip, 位置、下载过程、更新内容。这些类型的任务 需要info.plist中提到的特殊
    UIBackgroundModes
  • 因此,回答您的问题时,您不需要使用
    UIBackgroundModes
    键,除非您不属于长时间运行任务类别