问题标签 [nsurlsessiontask]

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 投票
3 回答
3218 浏览

swift - 如何在 Swift 中从 NSURLSessionDataTask 返回数据

我有同样的问题,在这里被问和回答:如何获取数据以从 NSURLSessionDataTask 返回

区别:我如何在 Swift 中做到这一点?我根本不知道Objective C,所以试图解释这个答案对我来说有点徒劳。

因此,鉴于下面的代码,我有一个 FirstViewController,它将调用我的 HomeModel 类来使用 NSURLSession 调用获取数据。调用完成后,我想将数据返回给 FirstViewController,以便我可以在视图中进行设置。

FirstViewController 类看起来像:

HomeModel 类看起来像:

我想我想要一种从原始 all 传入完成处理程序的方法,或者使用异步任务来等待结果的类似于 C# 5 的方法。

任何帮助表示赞赏..

0 投票
1 回答
58 浏览

iphone - iPhone NSURLSessionTask 在 iOS 6 上不起作用

使用以下代码

任务永远不会在 iOS 6.x 上启动,但适用于 iOS 7.x、8.x

将寻找另一种方法来做到这一点,但好奇的是它不适用于 iOS 6。

0 投票
1 回答
714 浏览

ios - 会话重新连接后,NSURLSessionTask 是否保留 taskIdentifier?

NSURLSessionUploadTask我在后台启动了几个s NSURLSession。我想确定taskIdentifier在我重新连接到此会话后,所有任务是否都保持原来的状态-application:handleEventsForBackgroundURLSession:completionHandler:,因为我需要知道哪个任务是针对哪个请求的,并且taskIdentifier是我可以使用的唯一信息。我不能使用 URL 来区分这些 POST 请求,因为它们针对的是相同的 URL。

0 投票
0 回答
482 浏览

objective-c - NSURLSession 不断给出错误,如 1001、1003、1005 等

我最近从 NSURLConnection 转移到 NSURLSession,即,我已经用 NSURLSession 替换了 NSURLConnection 的所有实现。我这样做是为了让我的代码是最新的。
一切正常,除了我现在不断收到很多 NSURLConnection 从未出现过的错误。例如,我不断地收到 1001、1003、1005 等。我很确定连接良好且牢固。我也不外网。

我对 NSURLSession 的实现如下:

这是我创建任务的方式:

如果有人能在这方面提供帮助,我将不胜感激。:(

提前致谢。

0 投票
1 回答
241 浏览

java - NSURLSessionTask 的完成处理程序不运行

您好,我正在尝试从 swift 客户端对 Java 服务器执行简单的身份验证。java 服务器是一个 HTTPServer,它的代码接受一个带有用户名和密码的“POST”请求。如果用户名和密码正确,则服务器返回 true,如果不是通过 JSON 数据,则返回 false。

我认为问题在于 swift 客户端。它似乎没有运行任务的完成代码,因此我不相信它实际上能够连接到服务器,在 localhost 上运行。客户端代码和服务器代码如下所示。你能告诉我为什么完成代码不会运行吗?并可能给我一个关于如何解决它的答案?

斯威夫特客户端:

Java 服务器:

谢谢你!

0 投票
1 回答
3671 浏览

ios - NSURLSession didCompleteWithError:gets 调用 NSError 为 nil

场景在上传过程中多次将应用程序带到后台和前台,didCompleteWithError: 在将应用程序带到前台时调用方法,错误参数为空。概率是 1/3。

我如何找出哪里出了问题,因为错误参数没有给出任何东西。

0 投票
1 回答
10640 浏览

ios - HTTP 数据任务 (NSURLSessionDataTask) 的 NSURLSession 是在后台线程中运行还是我们必须提供队列?

我现在开始使用它NSURLSessionNSURLConnection因为它是 Apple 提供的一种新的优雅的 API。以前,我曾经将调用NSURLRequest放在GCD块中以在后台执行它。以下是我过去的做法:

现在,这是我的使用方式NSURLSession

我想知道,我的请求会在后台线程本身上执行,还是我必须以与我一样的方式提供自己的机制NSURLRequest

0 投票
1 回答
49 浏览

ios - 如何从服务器中删除 JSON 格式的配方?

我编写了一个从服务器获取 JSON 形式的食谱并将其呈现到 UItable 中的代码。

该服务器是用 Ruby 编写的。现在我想写一个删除食谱的请求。这是我的服务器的说明。它说我应该使用以下 curl 删除食谱:

删除食谱 DELETE: /recipes/:id 在 Curl 中它会是这样的:

有谁知道我该如何实现删除方法?

0 投票
1 回答
1771 浏览

ios - 如何防止恢复重复的 NSURLSessionTask

我正在尝试在我的项目中使用 NSURLSession。这就是这种情况,我想检查是否已经存在具有相同请求的任何任务。所以我用getTasksWithCompletionHandler检查,如果没有,则恢复块中的任务。但是当我这样做时,数组中总是没有其他任务。

我错过了什么?

这是我的代码:

我已经尝试 add [dataTask resume];before check checkAndResumeTask:,并且任务将在数组中getTasksWithCompletionHandler,但是在恢复之前如何检查?

这是正确的做法吗?

我将不胜感激任何评论,谢谢。

- - - - 编辑 - - - -

@dgatwood:我确定其他任务正在运行

我在代码中、块之前、块之后和恢复任务之后打印信息。

我用相同的请求调用了三个任务。

下面是我的结果

您可以看到2015-09-04 01:59:45.216 XXX[26387:1632660] **resume task :<__NSCFLocalDataTask: 0x7fa428e81a40>{ taskIdentifier: 1 } { running }**此任务运行后,但此之后的块返回数组中仍然没有任务。

这是因为块在第一个任务恢复之前已经获得了数组吗?还是我出了什么问题?

0 投票
1 回答
1077 浏览

ios - AuthenticationMethodServerTrust 在 iOS 9 中为零

我一直在尝试实现一种使用 NSURLSession 在我的 iOS 8+ 应用程序中进行公钥固定的方法。

我所做的只是实现委托方法 didReceiveChallenge 并获取 challenge.protectionSpace.authenticationMethod 并检查它是否等于 NSURLAuthenticationMethodServerTrust。

如果它等于 NSURLAuthenticationMethodServerTrust 我检查证书并将其与我的本地副本进行比较。

这在 iOS 8 上运行良好,但在 iOS 9 上我没有收到等于 NSURLAuthenticationMethodServerTrust 的身份验证方法。我收到 NSURLAuthenticationMethodClientCertificate 所以我无法访问 challenge.protectionSpace.serverTrust 属性。

有任何想法吗?