问题标签 [urlsession]

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 投票
2 回答
705 浏览

ios - 致命错误:在展开可选值 json 时意外发现 nil

当我从服务器获取数据时,它会在我的代码下方显示致命错误

0 投票
4 回答
20826 浏览

swift - 如何在 Swift 中使用 URLSession 缓存图像

我想增强下面的代码以缓存图像,并且只有在以前没有缓存过它们时才下载它们。我似乎找不到任何关于如何使用 URLSession 对象来做到这一点的好例子。

0 投票
1 回答
429 浏览

ios - 调用中缺少参数“totalBytesWritten”的参数

我正在用 Swift 3.0.1 和 Xcode 8.1 编写一个 iOS 应用程序。我正在尝试以编程方式从 Internet 下载文件。

不知何故,Xcode 不喜欢上面的这个调用。我不确定我错过了什么。

编辑:

这就是我使用这个调用的地方。不过,在这里面我得到了一个不同的错误。“在‘​​AdvancedSettingsTableViewController’类型上使用实例成员‘URLSession’;你的意思是使用‘AdvancedSettingsTableViewController’类型的值吗?”

编辑 2: 似乎它几乎无法识别

作为有效的初始化程序。如果我命令单击 URLSession,我会得到一个问号。

0 投票
1 回答
289 浏览

ios - 如何正确处理所有潜在的网络错误?

我有一个网络管理器类,它与我们的服务后端进行所有通信。当网络请求可能失败时,我正在努力为用户提供良好的体验。

现在,网络管理器类发出请求以向后端进行身份验证:

我有另一个类管理 aDataError完成处理程序的返回,它基于响应的状态代码或请求的错误。

查看HTTP 状态代码列表和CFNetworkErrors列表后,我可以看到处理此类错误的可能性很大。我意识到并非所有这些CFNetworkErrors都适合我的情况,但我仍然会留下一长串要处理的错误。

除了requestError.code打开

如果我要处理所有的CFNetworkErrors,那么我最终会得到一个非常长的逻辑块来检查这样的代码:

我还会得到一个很长的块来处理所有适当的响应状态代码,如下所示:

在尝试处理可能遇到的所有网络错误时,您能给我一些指导吗?

0 投票
2 回答
746 浏览

ios - URLSession后台上传任务不断重置

我在使用uploadTaskfor a时遇到了一些奇怪的行为URLSessionConfiguration.background

我的自定义委托正在实现属于 、 和 的所有URLSessionDelegate委托URLSessionTaskDelegate方法URLSessionDataDelegate。它们都有一个print声明,表明该方法已被调用。

我正在尝试将五个图像上传到服务器,每个图像都有自己的会话,其 ID 与图像 ID 匹配。

问题是,当使用非常慢的连接“边缘”上传时,上传进度将在达到 100% 之前重置,只要didFinishCollectingMetrics调用就会发生这种情况,如您在此处看到的:数据

使用慢速连接时,这种情况不会一直发生,而只会在某些时候发生。

有人对这里发生的事情有任何想法吗?

0 投票
2 回答
1577 浏览

ios - Swift 3:如何确定下载文件的网速?

我目前正在开发一个应用程序,该应用程序根据文件下载的速度确定用户的互联网速度连接。

我发现了一个类似的问题,@Rob 在 Swift 中提供了答案:在 iOS 8 中确定互联网速度的正确方法

目前我正在使用 Swift 3,并尝试将他的代码从旧的 Swift 转换如下:

我设法转换了大部分代码,但似乎遇到了一些错误2

在此处输入图像描述

有人可以提供帮助吗?谢谢

0 投票
1 回答
889 浏览

swift - 如何显示文件流中的 pdf 数据

我正在努力REST API让您可以拨打电话然后接收图像或pdf。我URLSession.shared.dataTask用来拨打电话,当有图像时,通话成功(但这需要很长时间,超过 5 秒),我可以在UIImageView. 但是当有pdf时,我不知道如何处理结果。API 将图像/pdf 作为“文件流”返回。

当我将数据打印到控制台时,它会打印大小(字节)及其与服务器中相同的大小,因此在某种程度上我有正确的数据,我只是不知道如何查看 pdf。

我正在使用 swift 3、iOS 10、xcode 8。

0 投票
1 回答
1711 浏览

ios - 未调用 URLSession 委托成功方法,但没有错误

我正在使用 URLSession dataTask 下载带有 URLSessionDownloadDelegate 作为结果处理程序的文件。但是,urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)从不调用。相反,我得到urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?)的错误为零。当使用 completionHandler 方法来执行任务时,一切正常。

这是我的代码:

模拟器输出是

先感谢您。

0 投票
1 回答
2197 浏览

swift - 使用 URLSession 和后台获取以及使用 firebase 的远程通知

我正在尝试在这里实现一个基本函数,当我的应用程序后台或暂停时将调用该函数。

实际上,我们的目标是每天发送大约 5 个,因此 Apple 不应该限制我们的使用。

我已经汇总了以下使用 firebase 和 userNotifications 的内容,现在,它在我的应用程序委托中。

结果如下:

当应用程序在前台时:

  1. 我得到“在 startDownload func 中”的日志

  2. 我得到“下载完成”的日志。

当应用程序在后台时:

  1. 我得到“在 startDownload func 中”的日志

  2. 我没有收到“下载完成”的日志。

  3. 消音器不起作用,即当应用程序在后台运行时,我仍然在托盘中收到通知。

我正在使用 Postman 发送请求并尝试了以下有效负载,这导致控制台错误'FIRMessaging receiving notification in invalid state 2'

我为后台获取和远程通知设置了功能。该应用程序是用 swift 3 编写的,并使用最新的 Firebase

编辑:更新 AppDelegate 以根据评论包含功能

0 投票
0 回答
139 浏览

urlsession - 对allowCellularAccess的使用感到困惑

如果我需要为 URLSession() 使用配置的 allowedCellularAccess 属性,我需要一些帮助。

如此处所述 iOS 已经有一个设置来控制应用程序的蜂窝访问。

我在我的应用程序中添加了一个设置来控制允许蜂窝访问。我使用该设置为 accessallowsCellularAccess 分配一个值。

但现在我想知道我是否真的需要自己的设置。我会很好地使用 iOS 设置;所以,也许我只需要删除我的设置,忽略 accessallowsCellularAccess 并让全局 iOS 设置处理一切。

寻找建议。谢谢!