问题标签 [nsurlsessiondownloadtask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
59 浏览

objective-c - 代码在 IBAction 中运行,但不在 viewDidLoad 中

这是我的想法,我有一个MasterViewControllerthat is aUIViewController和这个协议<NSURLSessionDelegate>,我有一些代码在 a 中运行得非常好IBAction

编码...

但我真正需要的是以viewDidLoad这种方式运行该代码......

这是因为,我需要在viewDidLoad完成加载文件[self.arrIniFile objectAtIndex:0](并且该对象具有 NSString 属性fdi.downloadSource)时文件开始下载并在后台完成,而无需用户进行任何交互。

接口文件(h)有这个标题 @interface MasterViewController : UIViewController <NSURLSessionDelegate> ,我用这个协议方法

但是当我使用 viewDidLoad 时,该代码永远不会被触发,只是在 IBAction 中,我需要在 viewDidLoad 中使用它。我尽量解释清楚,希望有人给我任何建议。提前致谢。

0 投票
1 回答
17352 浏览

ios - 在 Swift 中使用 NSURLSession 下载文件

我在这里有 2 个问题,首先我不能用 swift 项目设置 NSURLSessionDownloadDelegate,编译器说

第二个问题是我找不到 NSURLSession 方法来下载一个简单的文件

这是我用来下载简单文件的方式

这些是我想快速制作的方法

..

..

..如果有一种新的方法可以用 NSURLSession 下载文件,我想知道,以及 NSURLSession 中的新功能

0 投票
1 回答
412 浏览

ios - 使用后台传输的下载任务上传文件是一件好事吗?

我需要在后台为我的应用程序上传文件。

所以我查看了uploadtask方法,但它实际上需要一个fileurl来处理后台传输。将我的对象放在 JSON/XML 中并将其保存为文件并不是什么大不了的事,但它需要在我的服务器端进行更改。

但是,我注意到有一种方法可以使用 downloadtask 上传文件,它还返回正文响应。

基本上,我会在内存中创建我的对象,并将其作为 NSData (byte[]) 添加到我的下载请求中。它确实有效,但我担心可能存在内存/连接错误,因为它不仅是磁盘上的文件,而且是内存,而且我们处于后台状态......

这是正确的方法吗?或者我可能有连接问题?

谢谢!

0 投票
1 回答
2400 浏览

ios - NSUrlSessionDownloadTask - 进入后台时出现didCompleteWithError

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

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

如何配置我的 NSURLSession 以在睡眠模式下继续下载?

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

这是我的会话的创建:

0 投票
2 回答
2120 浏览

ios8 - NSURLSession URLSessionDidFinishEventsForBackgroundURLSession 处理程序从未调用过 ios 8。在 ios 7 中可以

我有 NSURLSession 正在下载多个文件。我正在为 ios 8 更新一个 ios 7 应用程序。它在 ios 7 中运行良好,但在针对 ios 8 进行编译时

永远不会被调用。

我挖得更深了

我正在检查会话中剩余的下载任务:

在调用的最后一个代理肉类方法中,downloadTasks 数组中始终存在一个元素。奇怪的是,这个下载任务并不总是引用同一个文件,并且该任务的状态显示下载完成。

同样,在 ios7 中工作正常。问题仅发生在 ios 8 中。

0 投票
4 回答
8837 浏览

ios - NSURLErrorDomain Code=-997 "失去与后台传输服务的连接"

我正在使用 NSURLSession 下载一些 mp3 文件并将它们存储在设备中。一切正常,但有时出乎意料,应用程序崩溃,我收到这个奇怪的错误消息NSURLErrorDomain Code=-997 "Lost connection to background transfer service"。它不会发生很多,但是当它发生时,它只会弄乱整个应用程序,就像当我下次启动应用程序时,所有下载任务都搞砸了,我只需要在设备上重建应用程序就可以让它再次工作. 请注意,自从使用 Xcode 6 和 ios8 后,我才收到此错误,即使我不确定它是否与 ios8 有关。

这是完整的错误描述:

0 投票
1 回答
1055 浏览

ios - 使用 NSURLSessionDownloadTask 逐个下载文件

在我的应用程序中,我从 Web 服务获取 JSON。这个 JSON 包含我想下载的几个文件的 url。

我想一个一个地下载每个文件(等待第一个下载完成,直到第二个开始,等等)使用NSURLSessionDownloadTask. 我还想跟踪写入的总字节数,以便更新 UI。

非常感谢提前!

0 投票
2 回答
1155 浏览

ios - 如何获取失败的 NSURLSessionDownloadTask 的下载数据?

我想知道我是否可以检索失败的 NSURLSessionDownloadTask 的部分下载数据。

我的用例是:

  1. 我开始下载一个 1024MB 的文件
  2. 已下载 512MB
  3. 网络中断导致下载失败
  4. 当下载失败时,调用delagte的-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error。但错误对象不包含下载数据的 512MB 文件的路径。

我的问题是:是否可以使用带有后台会话的NSURLSession API 来检索下载的 512MB ?

谢谢,

0 投票
0 回答
47 浏览

ios - 后台模式下 NSURLSessionDelegate 允许多少时间和允许什么样的任务

NSURLSessionDelegate当操作系统调用方法以及NSURLSessionDownloadDelegate应用程序崩溃或使用后台 NSURLSession 挂起时,您是否允许多长时间。

你知道我是否可以在里面执行以下操作 URLSession:downloadTask:didFinishDownloadingToURL:

  • 核心数据请求
  • 在库中保存 1GB 视频
  • 同步网络请求

我在 iOS 文档中没有找到关于此的信息。

谢谢

0 投票
2 回答
1425 浏览

ios - 如何在完成处理程序块中检查 NSURLSessionDownloadTask 的状态?

假设我创建了一个NSURLSessionDownloadTask

如果我cancel()稍后调用该 downloadTask,它仍会调用完成处理程序,对吗?我想检查下载任务的状态是否是Cancelling这样,它不会试图弄乱下载的图像,在这种情况下不会有一个。

我无法检查下载任务本身的状态,因为它在变量的创建中。