如何在iOS 9中加载HTTPS URL?

lin*_*cob 6 objective-c ios

我需要在info.plist中设置什么设置才能启用HTTPS模式?我已经把它放在我的枕头里了:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

但它没有用,我仍然得到这个错误

错误信息:-

2016-02-25 12:46:31.860 Indus Audio [707:13224] NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

2016-02-25 14:20:31.119 Indus Audio [817:23670]响应:(null)错误域= NSURLErrorDomain代码= -1202"此服务器的证书无效.您可能正在连接到假装的服务器是"www.indusaudio.com",可能会使您的机密信息面临风险."

UserInfo = {NSURLErrorFailingURLPeerTrustErrorKey =,NSLocalizedRecoverySuggestion =你想要连接到服务器吗?,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,NSErrorPeerCertificateChainKey = {type = immutable,count = 1,values =(0:)},NSUnderlyingError = 0x7f9e58e05cf0 {错误域= kCFErrorDomainCFNetwork代码= -1202"(null)"UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0,kCFStreamPropertySSLPeerTrust =,_ kCFNetworkCFStreamSSLErrorOriginalValue = -9813,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,kCFStreamPropertySSLPeerCertificates = {type = immutable,count = 1,values =(0:)}}},

网址: https://www.xxxxx.com/xxx/xxx/files/downloadFile/en/linto

Sca*_*car 1

更新: 更好地更新您的服务器以支持 SSL 和 TLSv1.2

仅供临时使用。这种方法并不完全可取:

   <key>NSAppTransportSecurity</key>
<dict>
    <!--Connect to anything. Not advisable. For desperate measures I guess-->
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

原答案:

iOS 9 支持 TLSv1.2,请参阅此文档。因此,通过将其更改为 TLSv1.1,它会绕过安全性(这并不是完全可取的)。另外,指定你的url像这样:

 <key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>enterYourUrlHere.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>
Run Code Online (Sandbox Code Playgroud)