我尝试使用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
答案 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:
散列:
关键尺寸:
协议:
如果不支持,则可以使用将域列入白名单 应用程序plist文件中的NSAppTransportSecurity属性。
答案 1 :(得分:0)
[已解决]这是由服务器端的TLS版本(1.1)引起的。 Wayne说,在NSAppTransportSecurity中添加一个条目解决了这个问题。