应用传输安全 - 错误域= NSURLErrorDomain代码= -1200

时间:2017-11-17 17:02:04

标签: ios app-transport-security

我在构建POC时遇到了这个1200错误,而且我真的很难解决实际问题。在你读这篇文章之前,我没有找工作,因为我已经实现了一个解决方法,我想正确解决这个问题。

在我的应用程序中,我正在发出一个@POST HTTP请求,请求的代码很好,我发出请求,得到一些json,解析并用它做任何事情。

在构建应用程序时,我使用CharlesProxy作为中间人,因此我可以看到我发送的请求(因为我的密码字段没有正确编码)。在我建立POC后,我关闭了Charles,然后应用程序停止了工作。

我在控制台中收到了这些错误日志:

error : Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made."

我搜索了一下,人们似乎建议禁止运输安全以防止苹果干扰。问题是我正在与之交互的服务器是HTTPS服务器,并且传输安全性没有在这上面。

我已经知道这是由于SSL握手时出错,但实际上没有人建议任何修复。

目前我已经更改了info.plist中的应用传输安全设置,以允许任意加载。显然我不想在我的主应用程序中这样做,我想知道一种方法来一劳永逸地解决这个问题! (我还可以在应用程序旁边运行charles代理以使一切正常运行)。

2 个答案:

答案 0 :(得分:0)

我遇到了与您相同的问题,因此我尝试添加一些代码XML

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
    <dict>
    <key>codedeman.github.io</key>

codedeman.github.io,它是您网址的子域

对我有用,我希望对您有用

答案 1 :(得分:-1)

在Info.plist文件中添加以下代码

When(x => x.Type == 1, () => {
    //do something A
}).Otherwise(() => {
    //do something B
});