1

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

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

2) OS X El Capitan (10.11)。

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

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”,但不适用于 PhoneGap 开发人员应用程序,它似乎总是提供 index.html。我看过一个用户的帖子,那里有同样的问题,建议是开发人员应用程序不读取 config.xml。我通过故意在其中放置错误来证明情况并非如此,这些错误会被捕获。

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

4

1 回答 1

0

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

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

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

以下 URL 可能会有所帮助。

于 2017-05-07T06:19:00.747 回答