你确定它不起作用吗?我测试了一下,一切都很好。
可能的操作:
启用调试模式,构建您的应用程序,从Xcode中运行它,并确保您不会收到“应用传输安全性”错误:
App Transport Security已阻止明文HTTP(http://)资源加载,因为不安全。
在使用模拟器启动时。现在找到相同模拟器的
DEVICE_CODE。
提示:其中之一将是这些~/Library/Developer/CoreSimulator/Devices/中的代码。从Xcode中找到这个代码的最简单方法是转到窗口->设备。
然后,使用
Console打开其日志文件。
~/Library/Logs/CoreSimulator/<DEVICE_CODE>/system.log
清除历史记录(以防万一,您可以再次从Xcode启动应用程序,并确保输出被记录在您打开的日志文件中,并且您仍然没有在其中获得“App Transport Security”错误)。
现在从模拟器中启动您的应用程序,并检查日志中是否有与“App Transport Security”相关的任何错误。
对我来说,如果我从Xcode中工作时没有错误,则不会有任何错误。
==================================
P.S.:
强烈建议不要将NSAllowsArbitraryLoads设置为true,而是应该通过以下方式实现所需的结果:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourserver.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
nscurl
命令和--ats-diagnostics
选项。这将查看您正在连接的服务,并告诉您需要调整哪些设置才能在尽可能保持防护的情况下进行连接。 - macshome