2016-09-21 86 views
1

在启用了ATS(App Transport Security)的iOS 9中,没有任何异常,我无法通过http连接到服务器。我期望的。iOS中的ATS和http 10

IE:

http://192.168.22.33

但是随着iOS的10没有改变我可以作出这样的连接。

看这里我不明白为什么这可能是任何更新: https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html

任何想法?我想确保我仍然得到ATS保护。为远程和本地连接 应用传输安全(ATS)

+0

应用程序构建的基础SDK是什么?你使用Xcode 7或8来构建应用程序吗? – wottle

+0

基础SDK是9.3,使用Xcode 8构建。同样重要的是,这个9.3版本的设备不会允许http(如预期的那样),但是在iOS 10上它会。 – lostintranslation

+0

你是如何进行连接的?在UIWebView中,NSURLConnection?我会看看我是否可以复制。 – wottle

回答

2

可用性ATS的仅适用于公共主机名进行的连接。该系统不提供ATS保护,以取得联系:

  • 互联网协议(IP)地址
  • 非限定主机名称
  • 本地主机采用。本地顶级域名(TLD)

要连接到非限定主机名或.local域,必须将NSAllowsLocalNetworking项的值设置为YES。

注意:尽管ATS未强制连接到本地主机,但Apple强烈建议对任何本地连接使用传输层安全性(TLS),并使用自签名证书验证本地IP地址。 Apple Doc.

系统不会为Internet protocol (IP) addresses的连接提供ATS保护。因此,我们可以连接到服务器IP,但plist文件中没有任何NSAllowsLocalNetworking