应用传输安全策略要求使用安全连接 - IOS 9

时间:2015-09-22 08:33:15

标签: ios connection

我在使用IP地址时遇到与API的连接问题。 即使我将以下代码添加到plist中,它仍然显示如下错误:

" http://xx3.xx.xx8.xx7/xxx/xxx/错误:无法加载资源,因为App Transport Security策略要求使用安全连接。"

这是我添加到plist的代码

     <key>xx3.xx.xx8.xx7</key>
        <dict>
            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </key>

2 个答案:

答案 0 :(得分:15)

文件Allowing Insecure Connection to a Single Server here。因此,您必须将NSAppTransportSecurity添加到info.plist文件中,就像流动一样(在源代码中显示Info.plist,在Xcode中右键单击Info.plist&#34; Open As&#34; - &gt;& #34;源代码&#34;)

要配置每个域的例外:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!--others key-->
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>insecure-domain1.example.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSExceptionRequiresForwardSecrecy</key>
                <false/>
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.0</string>
            </dict>
            <key>insecure-domain2.example.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSExceptionRequiresForwardSecrecy</key>
                <false/>
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.0</string>
            </dict>
        </dict>
    </dict>
    <!--others key-->
</dict>
</plist>

编辑Infor.plist文件后如下所示: enter image description here

或停用ATS:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    ...
    <key>NSAppTransportSecurity</key>
    <dict>
        <!--Include to allow all connections (DANGER)-->
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
</dict>
</plist>

编辑Infor.plist文件后如下所示: enter image description here

答案 1 :(得分:3)

简单&amp;最简单的解决方案只需3个步骤

enter image description here

添加以下两个属性&amp;又跑了......快乐的编码: - )

enter image description here