Phonegap修改NSAppTransportSecurity

时间:2016-06-16 06:16:11

标签: ios xml cordova plist

我有下一个问题,我必须将NSAppTransportSecurity密钥添加到我的info.plist文件中。

因为我有许多不同的测试,开发和生产服务器的config.xml,所以不能手动将NSAppTransportSecurity密钥添加到plist中。

这可以在config.xml本身内完成吗?

我试过这个:

<manifest device="ios" tag="plist/dict">
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
        ...
        </dict>
    </array>

    <!--Here is my own:-->
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
</manifest>

但是在cordova构建iOS之后,我在info.plist中得到了这个:

<key>[object Object]</key>
<string>NSAppTransportSecurity</string>

但CFBundleURLTypes正常移植。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用cordova-custom-config插件来实现此目的:

$ cordova plugin add cordova-custom-config

然后添加到config.xml:

<platform name="ios">
    <config-file platform="ios" target="*-Info.plist" parent="NSAppTransportSecurity">
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
    </config-file>
</platform>

答案 1 :(得分:1)

我同意DaveAlden的解决方案。但如果NSAppTransportSecurity是您唯一对*-Info.plist文件中操作感兴趣的内容,那么您可以使用cordova-ios-security plugin

此插件负责您在*-Info.plist文件

中手动执行的工作