【发布时间】:2017-05-05 19:10:28
【问题描述】:
我正在尝试使用 PhoneGap 开发适用于 iOS 和 Android 的应用程序,但我遇到了一个我似乎无法找到答案的问题。这可能是一个新手错误,但也许有人可以指出我正确的方向。这是我的环境:
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 开发者应用程序变得毫无用处?
【问题讨论】: