banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[iOS] iOS9.0 关闭系统强制使用HTTPS

iOS9.0 以后出于对请求安全的考虑默认将 Foundation.framework 中的 HTTP 请求协议更换为 SSL/TLS,也就是说所有由程序发起的 HTTP 请求默认将请求 HTTPS 的内容,而且在 HTTPS 出现 404 时不会请求 HTTP 的内容,如果你的 APP 原来就使用 HTTPS,基本问题不大,但是如果使用 HTTP 的话,就需要: 1. 修改你的服务器配置,使它支持 HTTPS 访问 2. 修改你的 info.plist 配置,让 APP 能访问普通的 HTTP 协议网站 否则调试程序时会在 Log 中出现以下提示:

App Transport Security has blocked a cleartext HTTP (http://) resource
load since it is insecure. Temporary exceptions can be configured via
your app's Info.plist file.

修改 info.plist 时,APPLE 也提供了修改方法,在 info.plist 中增加以下内容即可

NSAppTransportSecurity
NSExceptionDomains
lidaren.com
NSIncludesSubdomains
NSTemporaryExceptionAllowsInsecureHTTPLoads
NSTemporaryExceptionMinimumTLSVersion
TLSv1.1

如果你的 app 具有浏览器功能,可以这样改,就可以完全放开 HTTP 访问功能了

NSAppTransportSecurity

NSAllowsArbitraryLoads

最后附上原文链接 https://stackoverflow.com/questions/30720813/cfnetwork-sslhandshake-failed-ios-9

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.