问题标签 [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 投票
1 回答
105 浏览

ios - 堆分配使用 NSURLSessionDownloadTask 来下载 UITableView 中的图像

我正在使用 NSURLSessionDownload 任务来下载 UITableViewCells 中的图像。每个单元格包含一个图像视图和一些相关的文本。

该应用程序必须与网络服务同步,并且能够在互联网连接不可用时保留数据。所以我使用 Core Data 来存储文本信息,图像存储在文件系统中。我必须检索的大多数图像大小约为 10 KB。总共只有大约 20 张图像。但是,其中一张图像是 6 MB。

这是我的问题:下载 10KB 图像时,应用程序使用的堆分配的持久字节约为 8 MB。下载 6 MB 图像后,持久字节会飙升至 100 MB 左右,我收到内存警告,有时应用程序会终止。

我不确定如何解决这个问题。欢迎任何帮助。谢谢。

下载较小尺寸图像时泄漏仪器的屏幕截图。

泄漏仪器截图 1

下载 6 MB 图像后泄漏仪器的屏幕截图。

泄漏仪器屏幕截图 2

这是我用来填充表格视图单元格的代码:

0 投票
3 回答
1470 浏览

ios - 在下载字节时从 NSURLSessionDownloadTask 访问字节

在我的应用程序中,我目前正在使用NSURLSessionDownloadTask通过 HTTP 获取文件。

此类提供了一个有用的委托接口来监视其进度并在下载完成后通过NSURLSessionDownloadDelegate获取字节,但是我无法在下载字节时找到任何方法来访问字节(在下载完成之前)。

是否可以访问这些字节,或者我是否需要使用其他机制下载文件?

0 投票
1 回答
1977 浏览

ios - NSURLSession downloadTaskWithResumeData 在重新启动应用程序后给出错误

我创建了一个下载任务。我已经取消了我的应用程序中的任务cancelByProducingResumeData并保存到磁盘。当用户重新启动应用程序并单击恢复按钮时,我再次启动了下载任务self.downloadTask = [session downloadTaskWithResumeData:resumableData];。但这会产生错误。

Invalid resume data for background download. Background downloads must use http or https and must download to an accessible file

编辑:我已经验证了tmp模拟器上的目录包含 downloadData 但无法访问它。

0 投票
1 回答
63 浏览

ios - 为什么我的代码在线程 6:NSOperationQueue 中运行时会崩溃?

这是天气 API 的下载任务的代码。只是想知道为什么我收到错误:

线程 6:EXC_BAD_INSTRUCTION(代码=EXC_1386_INVOP,子代码=0x0)。

非常感谢。

0 投票
0 回答
525 浏览

ios - NSURLSession:如何重新开始下载,但不继续下载?

我用NSURLSession, 和NSURLSessionDownloadTask来下载 o 文件。在下载期间,我杀死了应用程序(通过点击主页按钮,然后刷掉应用程序)。正如我所料,我在以下函数中收到错误“取消”:

错误的用户信息包含恢复数据,以便稍后我们可以继续下载。但是,我不希望那样。我想要的是当我重新打开应用程序时,它会再次开始下载,但不会继续下载。

我分配了self.downloadTask = nil,但它不能解决问题。

我用来开始下载的以下功能:

注意:我使用的是 XCode6,Objective-C

0 投票
1 回答
1095 浏览

ios - How to download multiple files by NSURLSessionDownloadTask

iOS 8, XCode 6.3.2

I want to download multiple files serially. In the wake of the Push notification, APP will start BackgroudDownload by NSURLSessionDownloadTask. After the First BackgroudDownload process has been completed, APP want to start Second process, but Second BackgroudDownload process does not start.

Code is below

// This method is called by Push Notification

// Finish Download

The First is successful, and the Second is fail (not start). I want advice to pursue the cause. Thank you for any help you can provide.

0 投票
1 回答
812 浏览

ios - iOS NSURLSession 监听超时

我创建了一个简单的 NSURLSessionDownloadTask 来从 URL 下载,它的类具有 NSURLSession 委托:

但是,我找不到侦听下载任务超时的协议方法。有没有办法监听超时(例如 - 我想在 30.0 秒过后关闭进度对话框并且仍然没有收到数据)

我已经搜索了谷歌,但到目前为止还没有找到任何信息,所以我会在搜索更多信息时将这个问题留在这里。

非常感谢!

0 投票
3 回答
1769 浏览

ios - NSURLSessionDownloadTask 代表不调用 didWriteData 方法

我开始使用 NSURLSession 实现下载方法,并成功地从多个请求中下载了不同的文件。但是现在我想添加一个进度轨道,但是没有触发下载进度的代表。

这是我的代码:

我的头文件上有 NSURLSessionDownloadDelegate 。

我需要使用完成处理程序才能对文件执行不同的任务。

有什么办法可以做到吗?

0 投票
2 回答
3121 浏览

ios - 锁定屏幕时的BackgroundSession SessionDownloadTask,错误:NSPOSIXErrorDomain Code = 1

我有NSURLSessionDownloadTask一个backgroundSessionConfigurationWithIdentifier。当我锁定屏幕时,会发生此异常:

错误域 = NSPOSIXErrorDomain 代码 = 1 “操作无法完成 操作不允许。”。

此错误仅出现在我的手机上,不会出现在其他手机上。

下面是简单的代码:

0 投票
0 回答
174 浏览

ios - NSURLSession :在下载运行时获取 null resumedata 并且在该互联网连接之间将更改为 ON 到 OFF 模式

我正在使用 NSURLSession 从服务器下载 zip 文件。以下任务完美运行

  • 暂停和恢复下载
  • 获取下载进度
  • 获取有关互联网何时处于活动状态或不活动状态的通知

但有大问题

如果当时正在下载,如果互联网连接消失了,我会收到有关它的通知,但我可以存储 NSData,当互联网连接到来时,我将再次分配。在互联网连接方法中,我从

请帮忙!