Phonegap CLI 5.1.1 --variable 没有出现在 plugin.xml 中

Posted

技术标签:

【中文标题】Phonegap CLI 5.1.1 --variable 没有出现在 plugin.xml 中【英文标题】:Phonegap CLI 5.1.1 --variable doesn't show up in plugin.xml 【发布时间】:2015-07-19 13:00:28 【问题描述】:

我正在尝试获取一个变量并在我的 plugin.xml 中使用它来构建 URL 类型。每次构建时,我都会检查我的 .plist 文件。它吐出 $URL_SCHEME 而不是实际值。这是我的代码,

<config-file target="*-Info.plist" parent="CFBundleURLTypes">
  <array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>MY_SCHEME</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>$MY_SCHEME</string>
        </array>
    </dict>
  </array>
</config-file>

我添加了我的插件使用,

cordova plugin add ../myplugin/ --variable MY_SCHEME=myScheme

知道为什么“myScheme”没有出现在我的 .plist 文件中,而是显示“$MY_SCHEME”吗?

2015 年 7 月 27 日编辑: 这是我的 plugin.xml - http://pastebin.com/YH7LzTjf

【问题讨论】:

你能分享你的plugin.xml吗?还是它负责变量的部分? 事实证明,不仅仅是 CLI 出现问题。我上传了我的插件,并使用 Phonegap Build 配置文件来更改变量。它仍然不接受它。 @MaciekCzarnik 我用我的 plugin.xml 更新了我的问题。 【参考方案1】:

您需要添加&lt;preference/&gt; 才能使--variable 工作。试试这个:

    <preference name='MY_SCHEME'/>
    <config-file target="*-Info.plist" parent="CFBundleURLTypes">
        <array>
            <dict>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>CFBundleURLName</key>
                <string>MY_SCHEME</string>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>$MY_SCHEME</string>
                </array>
            </dict>
        </array>
    </config-file>

我不知道 - 由于某种原因,我无法将其添加为 CFBundleURLTypes 作为父级(尽管它可以用于其他一些字符串),但我的 Cordova 可能有问题。

【讨论】:

以上是关于Phonegap CLI 5.1.1 --variable 没有出现在 plugin.xml 中的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 插件可以在 CLI 上运行吗?

PhoneGap 跨域 ajax 与 PhoneGap 开发者应用程序和 cli

Phonegap:CLI 升级到 6.5.0 后的 iOS 错误

将 phonegap 版本升级到 cli-5.4 后 Jsons 不加载

Phonegap CLI 构建插件缓存?

PhoneGap Build 和 CLI 的相对图标路径