我正在创建一个小插件,只存在为应用的info.plist写一些值。以下是plugin.xml中的代码
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
id="com.example.fileshare"
version="1.0.0">
<name>Example Fileshare Enable</name>
<description>Enables Filesharing</description>
<license>Apache 2.0</license>
<!-- iOS -->
<platform name="ios">
<config-file target="*-Info.plist">
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>UIFileSharingEnabled</key>
<true/>
</config-file>
</platform>
</plugin>
从这段代码中,CFBundleDisplayName正在写入info.plist,但是UIFileSharingEnabled被写为一个未定义键的布尔值。
我不确定是什么导致了这一点,但我真的很感激一些指导。
答案 0 :(得分:0)
我遇到了同样的问题,据了解,info.plist文件是从三个不同的来源填充的。
<config-file>
开头的xml platform/ios/ios.json
ios.json将手动配置保存在Xcode中,并在运行$ cordova prepare ios时应用它们
我的解决方法是删除ios.json中的违规行,并从info.plist文件中删除所有违规行。就我而言,我能够将配置手动添加到config.xml中。
<config-file parent="ITSAppUsesNonExemptEncryption" target="*-Info.plist">
<false />
</config-file>
如果您在多个地方都设置了相同的配置,那么您将永远获胜。