NSURLSessionDataTask失败,错误代码为-999

时间:2018-04-09 07:19:35

标签: objective-c nsurlsession nsurlsessiondatatask

我正在使用NSUrlSession来调用后端API。 有时API正在运行,但有时我会遇到像

这样的问题
  

HTTP加载失败(错误代码:-999),    HTTP加载失败(错误代码:-1200)

请参阅以下内容: - Xcode日志的屏幕截图。 enter image description here

我已经对此进行了研究,建议的可能解决方案是使用应用传输安全设置,我已经在使用它了。

以下是我项目的 info.plist 文件的屏幕截图。 enter image description here

以下是我正在使用的代码: -

contains

因此无法确定究竟导致 NSURLSessionDataTask 失败的原因。 甚至不会调用完成块。

有什么建议吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

错误代码-999已取消请求,因为您正在使用NSURLSession的包装,可能无法看到正确的消息。

无论如何,您要实例化3个新对象:配置,管理器和数据任务。它们都没有在另一个对象(例如UIViewController)中具有强引用,因此当您调用[dataTask resume]时,ARC已经删除了对象的引用,因为在同步代码的概念中,这代码完成了。

总之,这是正确的行为,为了解决这个问题,请尝试在班级中创建strong AFURLSessionManager的引用,一切都会好的。