以下是解决问题的几种不同方法:
1.检查一切是否正常生成并清理您的项目。
有时通过记录并查看输出包,您会发现插件安装并不总是可靠的。在某些情况下,一些插件可能无法正确安装(您会在日志中看到“未定义”消息以及您的 undefined 消息)。通常删除和(重新)添加失败的插件可以解决这个问题。要尝试的另一件事是在构建之前清理项目 - iOS 和 Android 都有一个清理脚本,分别在 ./platforms/ios/cordova/clean 和 ./platforms/android/cordova/clean 中可用,有时在构建之间运行时会有所帮助。
如果您的 wifi 连接不佳,有时您可能会收到这些错误/不完整的安装。您可以通过检查文件夹本身以及 plugins/fetch.json、plugins/ios.json 和 plugins/android.json 文件来测试这一点。
您的plugins/fetch.json 应如下所示:
"cordova-plugin-inappbrowser": {
"source": {
"type": "registry",
"id": "cordova-plugin-inappbrowser@~1.3.0" //or whatever version
},
"is_top_level": true,
"variables": {}
},
当您运行cordova build 或cordova prepare 时,它应该为您项目的每个平台自动生成一个.json,所以如果您有android 和ios,它应该创建一个android.json 和ios.json,它应该看起来像这样:
"installed_plugins": {
"cordova-plugin-inappbrowser": {
"PACKAGE_NAME": "com.example.hello"
},
在这里尝试删除项目构建然后重新构建它
rm -rf platforms/ios/build && cordova build ios
现在测试您的项目,如果运气不好,请尝试以下一些步骤。
2.删除并(重新)添加您的项目 platforms 和 plugins 文件夹。
在您的应用程序文件夹的基础上运行
rm -rf plugins/ && rm -rf platforms/
cordova plugin add cordova-plugin-inappbrowser
cordova platform add ios
cordova run ios
如果不尝试步骤 3 和 4,现在测试您的项目
3.测试在新项目中运行 cordova plugin add cordova-plugin-inappbrowser 是否能正常工作
尝试运行:
cordova create hello com.example.hello "HelloWorld"
cd hello
cordova plugin add cordova-plugin-inappbrowser
cordova platform add ios
cordova build
如果它正确安装到新项目中,进入plugins/ 文件夹,然后将cordova-plugin-inappbrowser 插件文件夹拖放到您当前的项目plugins/ 文件夹中,然后再次测试您的项目,如果您仍然遇到问题,请仔细检查确保 fetch.json 或 ios.json / android.json 文件生成正确,它们看起来像 #1 中的内容。
另外假设插件在您的新应用程序中工作并且新应用程序使用相同的应用程序名称和包名称(当您运行 cordova create hello com.example.hello "HelloWorld" 时)您也可以简单地在新项目中替换您当前的 www/ 并运行它你不应该遇到任何问题。
4.与第 3 步类似,下载不使用 cli 的插件,然后将其添加到您的项目中
尝试在https://github.com/apache/cordova-plugin-inappbrowser 下载插件的 .zip 文件并将其添加到您的 plugins 文件夹,然后测试您的项目
5.更新您的项目和 cli
尝试在当前的 4.1.0 for ios 上,所以在你的项目文件夹中尝试运行
rm -rf plugins/ && rm -rf platforms/ && cordova platform add ios
cordova platforms update cordova-ios@4.1.0
cordova plugin add cordova-plugin-inappbrowser
cordova run ios --device
您还可以通过在 platforms/platforms.json 中指定来更改项目版本(cordova-ios 或 cordova-android)
e.i.
{
"ios": "4.1.0"
"android": [version number]
}
虽然它是当前版本并且希望是免费的,但我遇到了一个插件问题,我目前使用的是较低版本,所以如果您仍然遇到问题,请再次尝试使用版本 @4.0.0 或 @ 987654359@
您可以使用我在 #6 下提供的其他一些有用命令来完成此操作
6.确保您拥有正确的权限
您也有可能遇到科尔多瓦权限问题,因此请尝试检查或更改以下位置
运行:
whoami
要查找您的用户名,请在此处使用该名称:
sudo chown -R [add your username here] /usr/local/lib/node_modules/cordova
即
sudo chown -R bobsagit /usr/local/lib/node_modules/cordova
sudo chmod -R 777 /Users/[bobsagit]/.config/
sudo chmod -R 777 ./platforms/ios/
和您的项目文件夹,假设它在桌面上并命名为 ExampleProject
sudo chmod -R 777 ~/Desktop/ExampleProject/platforms/ios
其他有用的命令
在您的应用程序根文件夹中,您可以尝试以下一些操作
查看当前项目中的插件
cordova plugins list
检查当前项目运行的平台版本
cordova platform list
或
cordova platform version
它会给你以下输出
Installed platforms: android 3.5.1, ios 3.5.0
Available platforms: amazon-fireos, blackberry10, browser, firefoxos
检查 Cordova 应用程序的当前平台版本
cordova platform version ios
更新现有版本
cordova platform update ios
要更改项目版本,首先使用您想要的版本全局安装,然后将其添加到您的项目中
sudo npm install -g cordova-ios@4.1.0
cordova platform add ios@4.1.0
或更新到指定的特定版本
cordova platform update ios@4.1.0
在你的机器上运行查看当前运行的cordova版本
cordova --version
了解更多详情
npm info cordova
补充说明:
当您添加 cordova 插件时,它们是针对设备而非浏览器的插件,因此请确保您在运行时附加 --device 以在设备上进行测试像这样的命令
cordova run ios --device
旧的 cli 您将使用 . 语法添加插件,即 org.apache.cordova.inappbrowser 现在您不需要,因此请确保您使用 - 就像您在使用 cordova-plugin-inappbrowser 时一样使用 cordova-plugin-inappbrowser
更新:我刚刚阅读了您的评论,您说它适用于不同的项目。我对http://www.macincloud.com/ 不太了解,但您的问题似乎是插件初始安装时出现的问题,因此请尝试清理它或将其删除并重新添加,就像在第 1 步和第 2 步中一样