App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全。

时间:2015-10-02 16:51:25

标签: swift2 xcode7 nsurlrequest

据说可以通过应用程序的Info.plist文件配置临时异常。 根据其他答案,我将此条目添加到info.plist但它没有帮助(更糟糕的是,在我更改了xml文件后,当我尝试在我的iPhone上运行应用程序而不是在模拟器上运行时,我得到了权限错误 - 但是这是一个不同的问题。)

 <key>NSAppTransportSecurity</key>
 <dict>
 <key>NSAllowsArbitraryLoads</key>
  <true/>
 </dict>

2 个答案:

答案 0 :(得分:3)

从Project Navigator中单击您项目的名称。

现在,在右侧你&#39;请参阅项目的“常规”选项卡。 选择信息,然后在海关iOS目标属性中添加新类型。

将其命名为NSAppTransportSecurity,键入为Dictionary。 在里面添加一个新项并将其命名为NSAllowsArbitraryLoads,输入布尔值,值为YES。

希望能解决你的问题。

答案 1 :(得分:1)

@SamHeather我试图在评论中发帖,但显然太长了......这是Facebook域名的白名单,这是Facebook SDK集成所必需的。您可以根据自己的需要更改这些内容。

目前列入白名单的是:akamaidhd.net,f​​acebook.com和fbcdn.net。

您可以更改这些,例如:

<key>(your domain name) </key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                    <false/>
                </dict>

Facebook下面的白名单:

<key>NSAppTransportSecurity</key>
<dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>akamaihd.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>facebook.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>fbcdn.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>