【发布时间】:2017-08-15 05:01:31
【问题描述】:
背景
在两个完全独立的 Ionic 应用程序上更新我的 Ionic CLI(用于验证错误)后,我尝试在我的 iPhone 和 XCode 模拟器上编译、构建、运行和模拟这些应用程序。这是我在更新后收到的警告:
> twine-app@0.0.1 run /Users/Anthony/dev/twine-app
> ionic cordova run ios --l --consolelogs
✖ cordova platform add ios --save - failed!
[WARN] Platform already added. Saving platforms to config.xml.
✔ cordova platform save - done!
[WARN] Detected @ionic/cli-plugin-cordova in your package.json.
As of CLI 3.8, it is no longer needed. You can uninstall it.
[WARN] Multiple network interfaces detected!
因此,在看到此警告后,我尝试在我的 iPhone 和 XCode 模拟器中使用以下代码行使用 livereload 运行该应用程序:
ionic cordova run ios --livereload --consolelogs
和
ionic cordova emulate ios --livereload --consolelogs
错误
在那之后,我开始在每个 Cordova 插件的调用中收到一条警告,指出 cordova is not available:
示例包括但不限于:
[00:44:00] console.warn: Native: tried calling StatusBar.styleDefault, but Cordova is not available. Make sure to
include cordova.js or run in a device/simulator
[00:44:00] console.warn: Native: tried calling SplashScreen.hide, but Cordova is not available. Make sure to include
cordova.js or run in a device/simulator
[00:44:00] console.warn: Native: tried calling SpeechRecognition.requestPermission, but Cordova is not available. Make
sure to include cordova.js or run in a device/simulator
方法
以下是我尝试修复这些错误及其结果的所有方法:
ionic cordova build ios:Cordova 插件在我的实际设备上工作,一切正常加载,没有错误。但是,这并不是真正的解决方案,因为我需要 livereload 来测试我的应用程序。ionic cordova platform rm ios && ionic cordova platform add ios:删除和添加iOS平台无效。npm install -g ionic@latest cordova@latest --save:删除ionic和cordovanpm 包并将它们重新安装也无济于事。npm i:删除node_modules并重新安装所有模块并不能解决此问题。fetch-plugins:安装this package,删除项目根目录下的plugins文件夹,调用fetch-plugins无效。
由于我目前正在开发的两个 Ionic 应用程序都出现了这个问题,恐怕更多人会在更新他们的 Ionic CLI 时遇到这个问题。如果有人知道如何解决此问题,请在下面发表评论或发布解决方案。非常感谢您。
【问题讨论】:
标签: ios cordova ionic-framework command-line-interface