我正在尝试使用PhoneGap开发适用于iOS和Android的应用,但面临一个我似乎无法找到答案的问题。这可能是一个新手的错误,但也许有人可以指出我正确的方向。这是我的环境:
1)PhoneGap版本为6.5.0。 Cordova版本我刚刚升级到7.0.0。
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命令&#34; phonegap serve&#34;将应用程序提供给我的iPhone,并且我在设备准备处理程序中提示window.ace,则值为&#34 ;未定义&#34;
然而,如果我执行&#34; cordova运行ios&#34;通过模拟器运行应用程序,然后window.ace被定义并正常工作。
另外,如果我将内容src属性更改为指向另一个文件,那么它再次与&#34; cordova运行ios&#34;,但不能与PhoneGap开发者应用程序一起使用,后者似乎总是提供index.html 。我已经看到来自那里遇到同样问题的用户的帖子,并且建议开发者应用程序不读取config.xml。我已经证明了事实并非如此,故意将错误放在那里,这些错误被抓住了。
有人可以告诉我我做错了什么,因为如果我不能添加插件,那会让PhoneGap开发者应用程序变得无用吗?
答案 0 :(得分:0)
我认为你必须使用npm安装插件。然后在配置文件中指定它,如:
<plugin name="cordova-plugin-ace" source="npm" spec="~2.1.0" />
注意:规格属性可能会有所不同。
以下网址可能会有所帮助。