2015-10-04 120 views
2

我在iOS 9和iOS 8上都使用了Swift 2和Alamofire。在iOS 8中,我所有對我的API的請求都正常工作。在iOS 9中,它們立即失敗,並帶有消息「無法連接到服務器」的-1004 NSURLErrorDomain。我閱讀了Apple App Security的更改,並已將條目添加到我的Plist中以禁用它並允許不安全的連接。Swift iOS 9 NSURLErrorDomain錯誤-1004

我不知道這個錯誤的原因...任何幫助將是偉大的!

+0

你容忍它是真的嗎? –

+0

@BankerMittal:是的,我改變了我的plist以允許所有不安全的連接。它應該工作。它與iOS9的第一個版本一起工作,但其中一個bug更新破壞了它。 – Key

+0

最新發布的ios 9 - ios 9.1最近才發佈。請更新並檢查它。 –

回答

2

一噸的不同鍵和值的亂搞,使其工作後,我終於想出了這個,使其功能iOS9.1:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>mydomain.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
      <key>NSTemporaryExceptionMinimumTLSVersion</key> 
      <string>TLSv1.1</string> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
      <key>NSRequiresCertificateTransparency</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

我加了最後一個NSRequiresCertificateTransparency後並將其設置爲假,它可能是最重要的。