【问题标题】:NSURLSession background upload - need to enable background modes?NSURLSession 后台上传 - 需要启用后台模式?
【发布时间】:2015-03-16 20:25:03
【问题描述】:

我正在实例化一个NSURLSession 来做几个这样的后台上传:

  sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier];

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

【问题讨论】:

    标签: ios iphone xcode nsurlsession nsurlsessionuploadtask


    【解决方案1】:

    官方指南Background Execution声明三种后台执行方式:

    1. 执行有限长度任务 - 使用UIApplication 方法
      beginBackgroundTaskWithName:expirationHandler: 执行有限 时间任务。
    2. 在后台下载内容 - 使用 NSURLSession 来 下载内容。您的应用程序提供的NSURLSession 运行在 单独的系统级守护进程,完成后,通过 完成处理程序。 (你上面提到的实现)
    3. 实现长时间运行的任务 - 需要运行的任务 很长时间,都在这个类别下处理,如音频,voip, 位置,下载过程,更新内容。这些类型的任务 需要 info.plist 中提到的特殊 UIBackgroundModes 键。

    所以回答你的问题,你不需要UIBackgroundModes 键,直到你不属于长期运行的任务类别。

    【讨论】:

      猜你喜欢
      • 2013-11-27
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      相关资源
      最近更新 更多