问题标签 [nsurlsession]

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 回答
260 浏览

ios - 上传 NSURLSession 配置为 backgroundSessionConfiguration 的文件后是否可以运行代码

我喜欢在 backgroundSessionConfiguration 中使用 NSURLSession 的方法:

uploadTaskWithRequest:fromFile:

但是我需要在上传后运行一些代码来选择下一个文件。选择后,我想再次启动 NSURLSession 以使用 uploadTaskWithRequest:fromFile: 方法上传它

所以递归上传一堆文件

你知道这是否可能吗?

0 投票
2 回答
8701 浏览

ios - NSURLSession invalidateAndCancel:访问错误

当我尝试使NSURLSession实例无效时,我遇到了一个奇怪的问题。代码非常简单:我有一个视图控制器、两个按钮(开始:和停止:)和一个用于 url 的文本字段。

代码的简单摘录:

或者,如果您愿意,可以选择整个项目:链接

现在,尝试下载一个文件 ( http://download.thinkbroadband.com/1GB.zip )。

由于我希望此下载在后台继续进行,因此我正在使用后台会话。
会话正确启动并在后台继续下载,但如果我尝试取消它(发送invalidateAndCancel),我的访问权限不正确。
启用 Zombie 的分析给出这个僵尸对象:_NSCFBackgroundDownloadTask.
因此,如果我保留NSURLSessionDownloadTask(使用强大的属性来存储它),则不会发生错误的访问。但是,AFAIK,NSURLSession 应该保留它本身的任务,所以我想了解我的代码有什么问题(也许我在文档中遗漏了一些东西?)或者我是否应该提交错误报告。

谢谢

0 投票
1 回答
1983 浏览

ios - 解除模态视图控制器后未调用委托方法

我正在使用NSURLSessionDataTask从我的类中的 url 检索 JSON JsonClient,这个类有一个委托协议来通知 json 任务何时完成。

json客户端.h

json客户端.m

获取 json 工作正常。但是由于某种原因,委托方法没有在我的第一个视图控制器中被调用。 ViewController呈现ViewController2模态转场。一个按钮在ViewController2点击时获取 json 并返回到第一个ViewController.

视图控制器.m

视图控制器2.m

为什么ViewController没有调用第一个视图控制器中的委托方法?

0 投票
1 回答
1414 浏览

ios - iOS/Objective-C - 如何在不丢失初始会话的情况下发送多个 NSURLSessionDataTask 请求?

我目前正在研究一个 iOS 编程课程的项目。作为课堂项目的一部分,我正在努力使特定部分成功工作。

我正在使用 NSAlert 对话框来提供我的登录名和密码,以在 HTML 字符串中获取我注册的课程。

我的学院在学院信息系统上维护学生注册的课程表,我可以从中登录并查看我的课程。

我想登录大学网页,该网页有一个名为 submit.asp 的页面来处理从登录表单发送的 POST 请求。在实际的浏览器上,当我提交我的凭据时,经过一些服务器处理并重定向到另一个页面,我可以毫无问题地导航到我的课程安排页面。

但是,当我在 XCode 5 中从 iPhone 模拟器运行初始请求时,我无法在第一个请求后保留会话。

尝试在主完成处理程序的 else 块中启动对 dataTask 请求的后续操作是否正确?

其次,我是否需要手动确保我遵循来自服务器的任何重定向?

0 投票
2 回答
4141 浏览

objective-c - 如何将 NSURLCredential 传递给 NSURLSession?

我对此有点困惑。我有这个方法。

如何将凭据传递给 NSURLSession 对象?苹果的文档是这样说的:

“在你创建了 NSURLCredential 对象之后:

对于 NSURLSession,使用提供的完成处理程序块将对象传递给身份验证质询的发送者。”

但我不确定这实际上意味着什么。我找不到这种用法的任何例子。

谢谢。

0 投票
2 回答
4591 浏览

ios - ios中的状态码400错误

我正在使用 iOS 7,我使用 NSURLSession 与服务器连接。我尝试了以下代码:

我得到的错误如下:

我无法理解。我应该怎么做才能检查错误?请指导我,我是iOS新手。

0 投票
2 回答
2018 浏览

ios - NSURLSession 和 NSDefaultRunLoopMode

使用时NSURLConnection,您可以选择使用以下方式安排连接NSRunLoop

如果用户滚动,传递NSDefaultRunLoopMode将有效地导致连接暂停,这对性能非常有用,因为用户体验从未受到下载的影响。

有没有办法获得类似的行为NSURLSession?我已通读文档并尝试了各种配置会话的方法,但均未成功。

0 投票
1 回答
1803 浏览

ios - iOS:如何增加 NSURLSession 上传任务的块大小?

我正在开发一个需要将大文件上传到服务器的项目。我使用 NSURLSession 来设置后台传输服务。一切似乎都很好,但是我相信它会继续发送 32K 的块。我想知道是否有办法增加块大小?

以下是设置上传任务的示例代码:

这是委托示例代码:

同样,有没有办法增加使用 NSURLSession 上传的块大小?默认为 32K。

0 投票
2 回答
3952 浏览

ios - NSurlSession - 下载许多文件

我需要下载一些文件(大约 500 个)。我有一个包含这些文件的所有 url 的数组,我想使用NSURLSession它以便我也可以支持后台下载。

我想不出正确的方法来实现这一点。如果我在一个文件完成后开始下一个文件下载,那么后台下载将不起作用。

我应该创建多个下载任务并启动吗?

请建议我如何实现这一目标。

0 投票
2 回答
2723 浏览

ios - iOS:强制退出应用程序是否会禁用使用 NSURLSession 的后台上传?

问题在于NSURLSessionNSURLSessionUploadTask

我正在将大文件上传到服务器,并注意到当我强制退出应用程序时,整个后台上传就会停止。但是,当应用程序通过 Xcode/调试器运行时开始上传时,即使我通过 Xcode 的“停止”按钮停止运行应用程序,我的上传也会正常完成。我怀疑使用 Xcode 强制退出应用程序会模拟 iOS 系统命令而不是用户操作。

所以我的问题是,当用户强制退出应用程序时,iOS 是否会立即取消NSURLSessionUploadTask ?出于某种原因,我至少希望应用程序出现错误回调,但是什么也没发生。