Objective-C - iOS11中的任务的HTTP加载失败(错误代码:-1004 [1:61])

时间:2017-09-22 19:03:26

标签: http ios11

我尝试使用URLSession执行数据任务,当我在iOS11设备(iPhone 5S)上运行它时出现控制台错误:

RAM

在模拟器上运行它不会发生。

造成它的原因或解决方法是什么?

  

这就是我正在做的事情

2017-09-22 15:22:17.942015-0300 app[1355:283536] TIC TCP Conn Failed [3:0x1c417af40]: 1:61 Err(61) 
2017-09-22 15:22:17.943698-0300 app[1355:283536] Task <A32F0275-75C3-4F64-AB92-2E37527AB813>.<0> HTTP load failed (error code: -1004 [1:61])
2017-09-22 15:22:17.945265-0300 app[1355:283676] NSURLConnection finished with error - code -1004

2 个答案:

答案 0 :(得分:6)

通过运行以下命令确保支持URL:

curl -v https://example.com/mobile/services/ecard/

nscurl --verbose --ats-diagnostics https://example.com/mobile/services/ecard/

确认您没有使用apple不再支持的密码哈希和协议。

IOS 11不再支持这些:

Cyphers:

  • RC4
  • 3DES-CBC
  • AES-CBC

散列:

  • MD5
  • SHA-1

关键尺寸:

  • &lt; 2048位RSA Pub Keys

协议:

  • http://
  • SSLv3
  • TLS 1.0
  • TLS 1.1

如果不支持,则可以使用将域列入白名单 应用程序plist文件中的NSAppTransportSecurity属性。

答案 1 :(得分:0)

[已解决]这是由服务器端的TLS版本(1.1)引起的。 Wayne说,在NSAppTransportSecurity中添加一个条目解决了这个问题。