Swift iOS 9 NSURLErrorDomain错误-1004

时间:2015-10-04 17:20:00

标签: ios swift2 ios9 alamofire

我在iOS 9和iOS 8中使用Swift 2和Alamofire。在iOS 8中,我对API的所有请求都可以正常工作。在iOS 9中,它们立即失败并显示-1004 NSURLErrorDomain,并显示消息“无法连接到服务器”。我阅读了Apple对App Transport Security的更改,并已将该条目添加到我的Plist中以禁用它并允许不安全的连接。

我对这个错误的原因感到茫然......任何帮助都会很棒!

1 个答案:

答案 0 :(得分: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并将其设置为false后,它起作用了,所以这可能是最重要的一个。