Phonegap 为 NSAppTransportSecurity 修改 config.xml
Posted
技术标签:
【中文标题】Phonegap 为 NSAppTransportSecurity 修改 config.xml【英文标题】:Phonegap modify config.xml for NSAppTransportSecurity 【发布时间】:2016-06-16 06:16:10 【问题描述】:我有下一个问题,我必须将 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 可以正常移植。我做错了什么?
【问题讨论】:
只需将平台添加到ios 然后使用默认的info.plist文件访问 【参考方案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>
【讨论】:
【参考方案2】:我同意 DaveAlden 的解决方案。但是如果NSAppTransportSecurity
是你唯一有兴趣在*-Info.plist
文件中操作的东西,那么你可以使用cordova-ios-security plugin
此插件负责您在 *-Info.plist
文件中手动执行的工作
【讨论】:
以上是关于Phonegap 为 NSAppTransportSecurity 修改 config.xml的主要内容,如果未能解决你的问题,请参考以下文章