问题标签 [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 回答
407 浏览

ios - 不确定在后台使用 NSURLSession 时我的应用程序对象会发生什么 - 我的应用程序处于什么状态?

更多的一般性问题 - 我不明白NSURLSession在“”中使用它时的工作原理background session mode。我将提供一些简单的人为示例代码。

我有一个保存对象的数据库 - 这样可以将部分数据上传到远程服务器。重要的是要知道上传了哪些数据/对象,以便准确地向用户显示信息。能够在后台任务中上传到服务器也很重要,因为该应用程序可以随时终止。

例如一个简单的个人资料图片对象:

现在假设我想将个人资料图片上传到远程服务器 - 我可以执行以下操作:

现在我想在我的代码中的其他地方上传个人资料图片 - 如果成功更新 UI 和发生此操作的数据库:

现在很明显,如果我的应用程序正在运行,那么这个“ ProfilePicture”对象已成功上传并且一切都很好——数据库对象有自己的内部工作方式,包括数据结构/缓存等等。所有可能存在的回调都会被维护,并且应用程序状态很简单。

但我不清楚如果应用程序在上传过程中的某个时刻“死机”会发生什么。似乎任何回调/通知都已失效。根据 API 文档,上传由单独的进程处理。因此上传将继续,我的应用程序将在未来某个时候被唤醒以处理完成。但是对象“ aNewProfilePicture”此时不存在,所有回调/对象都消失了。我不明白此时存在什么上下文。我应该如何确保我的数据库和 UI 的一致性(例如更新该successfullyUploaded用户的“”属性)?我是否需要重新处理所有触及 DB 或 UI 的内容以与新 API 对应并在无上下文环境中工作?

0 投票
1 回答
1579 浏览

ios - iOS8扩展后台NSURLSession沙箱报错

我正在尝试使用后台 NSURLSession 从照片应用程序中的共享扩展上传文件。因为后台 NSURLSession 仅支持使用 uploadTaskWithRequest:WithFile: API 的上传任务,所以我首先获取从扩展中检索到的图像 URL 的 URL,将图像内容写入共享容器,然后上传新文件。似乎 NSURLSession 有权限问题,我收到此错误:

“无法为文件 file:///private/var/mobile/Containers/Shared/AppGroup/ 发出沙盒扩展...”

我知道有一些类似的帖子,但没有一个是从扩展加载 url,也没有显示将临时文件写入的位置。

这是代码:

0 投票
4 回答
6283 浏览

objective-c - NSURLSessionDownloadTask 在使用后台配置时不断重试

当涉及到缓慢的后端和使用后台配置下载数据时,我遇到了问题。

如果连接已建立但发送回数据需要超过 60 秒的时间,则会发生超时。那也行。但是我遇到的行为是我没有收到错误。Session 只是发出一个新的请求。“再给我数据”。我不知道这发生在哪里。不在我的代码中,也没有调用我知道的委托方法。我只能访问服务器日志。服务器发送回数据大约需要 68 秒,但应用程序只是忽略它,因为它正在等待新请求。

一种解决方案是增加超时值。但我不喜欢它,它只适用于 iOS 7。不适用于 iOS 8。

有没有人对此有任何见解?我在stackoverflow上找到了关于后台会话超时问题的链接。它已经 10 个月大,但没有解决方案,只有人们同意。

0 投票
1 回答
1469 浏览

ios - 我可以在创建 NSURLSession 后更新其配置中的 cookie 吗?

我可以在创建会话后更新 NSURLSession 配置中的 cookie 吗?

我使用此代码更新 cookie,但它似乎不起作用。

谢谢,

0 投票
1 回答
350 浏览

ios - NSURLSession & NSURLSessionConfig - 丢弃配置头

我遇到了NSURLSession&的问题,NSURLSessionConfiguration我不确定这是我的代码还是我对框架的行为方式有不正确的理解。

我面临的问题是我在会话级别设置的标头在NSURLSessionTask从会话创建的中不存在。

这是一个小例子:

上面的代码输出:

根据我对文档的理解,从会话创建的任何任务或请求都应该包含会话中的 HTTPHeaders。我的理解正确吗?如果是这样,谁能看到我做错了什么?

0 投票
1 回答
353 浏览

ios - 当我们移动到另一个视图时如何停止 web 服务调用

我正在做一个应用程序。在其中,我为每个视图做了 Web 服务部分。因此,当我在未完成当前视图服务的情况下移动到另一个视图时,我需要停止当前视图中的 Web 服务调用。

请告诉我如何做到这一点。我启动服务的示例代码如下:

.
.
.

0 投票
1 回答
19080 浏览

swift - NSURLSession 与 Alamofire 的并发请求

我的测试应用程序出现了一些奇怪的行为。我有大约 50 个同时发送到同一台服务器的 GET 请求。服务器是资源非常有限的小型硬件上的嵌入式服务器。为了优化每个请求的性能,我配置一个实例Alamofire.Manager如下:

当我发送请求时,manager.request(...)它们会以 2 对的形式发送(如预期的那样,使用 Charles HTTP 代理进行检查)。奇怪的是,所有在第一个请求后 30 秒内没有完成的请求,都会因为超时而同时被取消(即使它们还没有被发送)。这是展示该行为的插图:

并发请求插图

这是预期的行为吗?如何确保请求在发送之前不会超时?

非常感谢!

0 投票
2 回答
4054 浏览

ios - 如何使用afnetworking在后台上传任务

我正在尝试使用 AFNetworking 上传大文件,并在应用程序处于后台时继续上传。

我可以很好地上传文件,但是当我尝试使用后台配置时——应用程序崩溃并出现以下堆栈跟踪:异常:EXC_BAD_ACCESS(代码=1,地址=0x8000001f))

这是一些示例代码:

注意:当我使用[NSURLSessionConfiguration defaultSessionConfiguration]上传成功但应用程序在后台时不会继续。[NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.company.appname.uploadservice"]导致应用程序崩溃。

0 投票
3 回答
1646 浏览

ios - 在 iOS 中同时调用多个 Web 服务

我有 4 个网络服务。我想一次调用这 4 个服务。如何一次调用多个 Web 服务?你能推荐任何关于这个的教程吗?提前致谢。

0 投票
1 回答
1937 浏览

ios - ios NSURLSession(默认配置)不缓存请求

我已经配置了会话:

然后,我尝试向服务器发出请求(从 Twitter 的 API 获取图像):

图像正在加载并正确设置,但是当我关闭机器上的 Internet 连接时(没有终止应用程序,它仍然运行......)我得到了空的 UIImageViews - 所以会话尝试从服务器下载图像,但没有使用任何缓存。
是什么导致了这个问题?
我尝试使用共享会话,或者使用预定义的磁盘和内存空间配置共享缓存,但没有任何帮助。
iOS模拟器,iOS 8+