PhoneGap config.xml - 添加插件不起作用

Posted

技术标签:

【中文标题】PhoneGap config.xml - 添加插件不起作用【英文标题】:PhoneGap config.xml - adding plugins not working 【发布时间】:2017-05-05 19:10:28 【问题描述】:

我正在尝试使用 PhoneGap 开发适用于 iosandroid 的应用程序,但我遇到了一个我似乎无法找到答案的问题。这可能是一个新手错误,但也许有人可以指出我正确的方向。这是我的环境:

1) PhoneGap 版本为 6.5.0。我刚刚升级到 7.0.0 的 Cordova 版本。

2) OS X El Capitan (10.11)。

3) 安装在运行 iOS 10 的 iPhone 上的 PhoneGap Developer App。

4) Hello World 示例应用程序(但它在我的真实应用程序中也以同样的方式失败)。

问题是,如果我向位于项目根文件夹的 config.xml 添加一个新插件,那么我会看到该插件已下载到插件文件夹中,但在deviceready 事件已触发。

例如,如果我将其添加到 config.xml:

<plugin name="cordova-plugin-ace" spec="https://github.com/microsoft/ace.git" />

如果使用 PhoneGap 桌面应用程序或 CLI 命令“phonegap serve”将应用程序提供给我的 iPhone,并且我在 deviceready 处理程序中发出 window.ace 警报,则值为“未定义”。

但是,如果我执行“cordova run ios”以通过模拟器运行应用程序,则 window.ace 已定义并可以正常工作。

另外,如果我将 content src 属性更改为指向另一个文件,它同样适用于“cordova run ios”,但不适用于似乎总是提供 index.html 的 PhoneGap 开发者应用程序。我看过一个用户的帖子,那里有同样的问题,建议是开发人员应用程序不读取 config.xml。我通过故意在其中放置错误来证明情况并非如此,这些错误会被捕获。

谁能告诉我我做错了什么,因为如果我不能添加插件,这会让 PhoneGap 开发者应用程序变得毫无用处?

【问题讨论】:

【参考方案1】:

我认为您必须使用 npm 安装插件。然后在配置文件中指定它:

<plugin name="cordova-plugin-ace" source="npm" spec="~2.1.0" />

注意:规格属性可能会有所不同。

以下网址可能会有所帮助。

http://phonegap.com/blog/2015/05/26/npm-plugins-available/ https://www.npmjs.com/package/phonegap https://www.npmjs.com/package/cordova-plugins

【讨论】:

我对其他插件也是这样做的。也许王牌是一个坏例子。无论如何,它没有任何区别。我正在阅读 PhoneGap 开发人员应用程序使用自己的 config.xml,这可能是原因。也许有人可以确认。 只是为了添加更多信息。我已经为cordoba-plugin-ace 和cordoba-plugin-keyboard 尝试过这种方法。在这两种情况下,我都使用“cordova plugin add”来添加插件。通过 PhoneGap 开发人员应用程序运行时,两者都无法实例化它们的对象。两者都在使用 cordova run ios 时工作。通过浏览器连接到 PhoneGap 服务器时,两者都可以工作。因此,间接证据表明安装在设备上的 PhoneGap 开发者应用存在问题。 我还查看了应用商店的开发者应用版本历史记录。有很多条目可以添加这个和那个插件。所以我认为正确的答案是开发者应用在设备上使用了自己的 config.xml,这真的让它对于开发现实世界的应用几乎毫无用处。

以上是关于PhoneGap config.xml - 添加插件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap:修改 config.xml 以将属性添加到 Info.plist ion iOS

PhoneGap config.xml - 添加插件不起作用

在 phonegap build config.xml 中添加 DateTimepicker 插件

Phonegap:gap:config-file 不适用于 config.xml

Phonegap 为 NSAppTransportSecurity 修改 config.xml

Phonegap Build Config.xml 格式错误