gpt4 book ai didi

ios - 后台 session 中的 NSURLSessionDataTask

转载 作者:可可西里 更新时间:2023-11-01 06:24:08 25 4
gpt4 key购买 nike

我想发出一个空的 POST 请求并在我的 iOS 应用程序处于后台时读取响应 header 。查看文档明确说明后台支持上传和下载任务,但是有两个问题:

  1. 我不需要上传内容,所以我不想创建一个空文件来使用。
  2. 我需要获取 header ,因此下载任务不提供必要的委托(delegate)回调。

这给我留下了一个 NSURLSessionDataTaskdocumentation状态:

Note: Prior to iOS 8 and OS X 10.10, data tasks are not supported in background sessions.

然而,another documentation page同名状态(后台传输注意事项):

Only upload and download tasks are supported (no data tasks).

哪个文档页面是正确的?后台 session 是否支持 NSURLSessionDataTasks 没有要上传的数据?

最佳答案

参见 WWDC 2014 视频 What's New in Foundation Networking ,大约 49 分钟。最重要的是,您现在可以在后台 session 中执行数据任务,但只有当应用程序正在运行时它才会起作用。如果应用程序挂起或终止,它不能执行数据任务,但您可以在收到响应后将其转换为下载任务。 (FWIW,我不觉得有一个只能在应用程序仍在运行时工作的后台数据任务特别有用。)

我不确定您为什么担心下载任务与数据任务。让我印象深刻的是,您可以只启动一个下载任务,然后在 didFinishDownloadingToURL 中查看 downloadTask.response

话虽如此,我不清楚您的更广泛意图是什么。如果您想对您的服务器执行 ping 操作(例如,查看是否有数据可供下载),您通常会为此使用后台提取。

关于ios - 后台 session 中的 NSURLSessionDataTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488513/

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