问题标签 [nsurlsessionconfiguration]

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

ios - NSURLSession:调用cancelByProducingResumeData后无法获取恢复数据

我想在用户取消下载或发生错误后恢复下载。但是当我调用cancelByProducingResumeData方法时,resumeData就是nil. 所以,我无法继续下载。我确定可以恢复下载链接,因为我们的PC客户端可以恢复下载该链接。这是我的代码。这是完整的项目

0 投票
1 回答
456 浏览

ios - defaultSessionConfiguration() 在应用程序处于后台时工作

我遇到了苹果文档中没有提到的一种行为。我正在使用对象通过网络拨打NSURLSession电话NSURLSessionConfiguration.defaultSessionConfiguration()。根据苹果的文档,这应该只在前台使用时使用,但绝对没有提到在应用程序处于后台时使用它。这真的很令人费解,我什至设置了一个委托来处理传入的位置更新,而它在后台。我真的对使用不感兴趣,NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(_:) 因为当我希望将用户的纬度和经度发送到后端时,我只能从文件上传或下载。我是这样做的:

有人可以向我解释一下,为什么允许这样做?

0 投票
2 回答
969 浏览

ios - 蜂窝网络上的 NSURLSessionConfiguration 后台任务未下载

我正在从网上下载一个文件。文件大小有时可能会达到 100MB,我想在应用程序进入后台或设备锁定时继续下载。为此我正在使用AFNetworking 3.0

[NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:myIdentifier];

只要我在 WiFi 上,它就可以正常工作。当我关闭 WiFi 并打开我的 4G 蜂窝网络时,它停止响应,并且由于我的下载请求,我没有收到任何数据。如果我使用

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];

一切都很好,除了当应用程序进入后台时我的下载不会继续。

我还检查allowsCellularAccessNSURLSessionConfigurationandNSURLRequest和 object which is YES,但是在蜂窝网络上我的下载不起作用。

这是我的完整代码

0 投票
2 回答
7508 浏览

file-upload - 无法在 iOS 中使用 NSURLSession 多部分表单数据上传文件

我正在尝试使用- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL; 使用多部分表单数据的方法上传视频/图像文件。但不知何故,我无法上传文件,我收到“ stream ended unexpectedly”错误。

要求

  1. 将视频/图像文件上传到服务器
  2. 应用程序应支持后台上传(即使应用程序进入后台仍继续上传过程)
  3. 服务器期望使用多部分表单数据发送数据。

用于实现此目的的方法/API

  1. NSURLSession 后台会话 API(下面列出的完整代码)

    2.- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL

面临的挑战/问题

  1. stream ended unexpectedly每次我使用此 API 进行上传过程时都会遇到“ ”错误

需要注意的点

  1. 如果我使用相同的代码NSURLConnection而不是NSURLSession.

  2. NSURLSession后台上传过程需要文件位置 ( NSURL) 作为参数,不接受 NSData。它不允许我们NSData在上传之前将文件转换为,即我们不能将 NSData 添加到文件正文中。

在以下几点上需要帮助

  1. 正在形成的多部分表单数据主体中是否有任何错误(注意 - 相同的代码正在使用 NSURLConnection)

  2. 我的方法哪里出错了?

  3. 我们是否需要在服务器级别进行任何更改以支持NSURLSession backgroundSession上传?(在数据解析或其他方面?)

    这是用于上传文件的代码

NSString *BoundaryConstant = @"----------V2ymHFg03ehbqgZCaKO6jy";

0 投票
1 回答
238 浏览

ios - 在 NSURLSessionConfiguration 的设备设置中覆盖代理?

是否可以忽略设备网络设置中的代理设置,而在使用 NSURLSession 时不使用代理?

基本上,如果连接失败,我想依靠不使用代理。

谢谢 !

0 投票
1 回答
709 浏览

proxy - Swift 2 如何实现需要授权的代理主机和端口?

这是我用来使用代理主机和端口发送请求的代码。我知道实现是正确的,因为我得到了 407 状态码(需要代理身份验证)。我不知道为什么代理服务器的用户名/密码不起作用。凭据正确且代理处于活动状态。

0 投票
1 回答
3257 浏览

nsurlsession - 带有标识符的背景 URLSession 的问题

我在我的项目中尝试使用此代码在后台下载大文件,它工作正常。我开始在 UIViewController 中下载。如果我转到另一个视图并返回 UIViewController ,它会停止重新加载进度条。

我得到了带有标识符的背景 URLSession 的问题已经存在!。我想在每次加载 UIViewController 时创建新会话。我想在关闭视图控制器时使所有后台会话无效。我尝试了所有可能性来解决这个问题,但没有成功。

点击这里

0 投票
1 回答
632 浏览

ios - HTTPMaximumConnectionsPerHost,timeoutIntervalForRequest 在 iOS 自定义协议中使用时不影响 defaultSession

我正在使用自定义协议,在其中使用 defaultConfiguration 创建 NSURLSession。这是我的代码 -

`

当 App 发出数百个请求时,响应来自自定义协议的请求的响应时间逐渐增加。我可以看到最大超时时间为 60 秒。这些配置参数没有影响。

0 投票
2 回答
682 浏览

ios - 下载任务的NSURLsession后台传输服务,在App挂起的情况下还能用吗?

在提问之前,让我澄清一下我对 iOS App 状态的理解:


后台:在这种状态下,您的应用程序不再处于前台,但它仍然能够运行代码。

已暂停:您的应用程序在无法再运行代码时进入此状态。


现在,我想在应用程序处于后台时继续下载,即它仍然存在于多任务屏幕中。它与后台传输服务按预期工作。

但是,在一些教程参考中,我读到即使应用程序处于后台/暂停状态,您也可以执行下载。即使我的应用程序被挂起,即从多任务屏幕中删除,它还​​能工作吗?

我一直在阅读许多文档,包括有关下载任务的后台传输服务的 Apple 类参考,但没有人澄清当 App 暂停(杀死)时下载将不起作用。

感谢您的想法和建议!

0 投票
2 回答
1347 浏览

ios - NSURLSession 后台传输:从队列中下载的每个视频的回调

我正在使用后台传输服务下载多个视频NSURLSession。当应用程序处于后台模式时下载工作正常并且我对此感到满意。我的问题是,我想为从队列中下载的每个视频进行回调。

我期待为每个下载的视频调用以下方法:

当系统在后台传输后没有更多消息要发送到我们的应用程序时,请使用以下方法:

但是,当所有下载完成时,这两种方法都会被调用。我放了 3 个视频供下载,然后将 App 放在后台。下载所有 3 个视频后调用这两种方法。


这是我在这些方法中所做的:

应用委托

下载视图控制器

是否可以在下载每个视频时向用户显示本地通知?或者,我必须等到所有视频在后台完成下载?

如果答案是否定的,那么我的问题是这两个不同回调的目的是什么?是什么将它们彼此分开?