我的应用使用http,但尚未针对iOS9进行更新。今天我在iPad上升级到iOS9,我的所有应用程序仍在使用http。似乎Apple在iOS9发布版中没有强制https。有人知道Apple会在什么时候这样做,否则Apple不会这样做?出于某种原因,我不想更新我的应用程序。
答案 0 :(得分:0)
在基于Xcode 7构建的应用程序上启用ATS,但在使用早期版本的Xcode构建的应用程序上启用ATS。这是为了防止成千上万的应用程序破坏'在iOS 9上。
如果您使用Xcode 7重建应用程序,将为您的应用启用ATS,您将需要更改后端以使用HTTPS或将异常添加到info.plist。
从本质上讲,ATS是强迫性的。对于新的/更新的应用程序(或者您需要明确部分或完全禁用它),但不适用于旧应用程序。
答案 1 :(得分:0)
iOS 9强制使用HTTPS的连接为TLS 1.2以避免最近的漏洞。在iOS 8中,甚至支持未加密的HTTP连接,因此旧版本的TLS也没有出现任何问题。作为解决方法,您可以将此代码段添加到Info.plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
答案 2 :(得分:0)
目前的应用程序在iOS 9上运行良好.ATS SSL要求为iOS 9构建了wot应用程序。
来自App Transport Security Technote
默认行为:
使用NSURLConnection,CFURL或NSURLSession API的所有连接都在为iOS 9.0或更高版本以及OS X 10.11或更高版本构建的应用程序中使用App Transport Security默认行为。不符合要求的连接将失败。
关键部分是:专为iOS 9.0或更高版本构建的应用。
这些是App Transport Security要求: