Cordova Error: Your ios platform does not have Api.js

Cordova Error: Your ios platform does not have Api.js

我正在尝试构建一个 cordova ios 应用程序,但运气不佳并出现奇怪的错误。

Using this version of Cordova with older version of cordova-ios is deprecated. Upgrade to cordova-ios@4.0.0 or newer.

Error: Your ios platform does not have Api.js

第一个警告说我的 cordov-ios 版本是旧的,这很奇怪,因为这是我的输出:

$ cordova --version
7.0.1



$ cordova platform version ios

Installed platforms:
  ios 4.4.0
Available platforms: 
  android ~6.2.2
  blackberry10 ~3.8.0 (deprecated)
  browser ~4.1.0
  osx ~4.0.1
  webos ~3.7.0

所以我显然有必要的最新版本。

然后是Api.js错误。这是什么原因造成的?

Error: Your ios platform does not have Api.js

有什么想法吗?

我确实遇到了这个问题,但通过简单地删除然后在我的项目中添加 IOS 平台设法解决了它:

cordova platform rm ios
cordova platform add ios

这似乎修复了更新 Cordova 时出现的任何问题...

我猜是因为尝试使用已弃用的代码才看到错误消息。

看来应该使用最新版本的节点。我还为 Xcode 执行了所有软件更新。我还将我的 iPhone 连接到我的电脑。即使在那之后(在我更新节点之前)我仍然看到这个:

cordova platform add ios

Warning: using node version v0.12.0 which has been deprecated. Please upgrade to the latest node version available (v6.x is recommended).
Using cordova-fetch for cordova-ios@^4.4.0
Adding ios project...
Error: Your ios platform does not have Api.js

然后我决定通过updating node解决这个警告。终于成功了:

sudo n latest
node --version
=> v8.0.0

cordova platform rm ios
cordova platform add ios

Using cordova-fetch for cordova-ios@~4.4.0
Adding ios project...
Creating Cordova project for the iOS platform:
    Path: platforms/ios
    Package: com.example.hello
    Name: HelloWorld
iOS project created with cordova-ios@4.4.0
Installing "cordova-plugin-whitelist" for ios
--save flag or autosave detected
Saving ios@~4.4.0 into config.xml file ...

使用cordova@6.0解决了问题

与最新版本的 cordova (7.0.1) 有同样的问题

添加 iOS 平台时遇到错误,通过将 nodeJS 升级到最新版本 (6.11.1) 设法解决了这个问题

致那些尝试更新 NodeJ 但没有成功的人。

查看您的 platforms/android 或 platforms/ios 文件夹。我的是空的。删除文件夹,再运行ionic cordova add android/ios

已降级到 cordova 8,它正在运行。

我总是修复此错误删除平台并再次添加它(android 在我的情况下)

phonegap platform rm android

等到它完成...

phonegap platform add android

就是这样。让我知道它是否适合您。

当您同时安装 Android 和 iOS 时,也会出现此问题。至少对我来说是这样。

当我运行命令时:

cordova platform rm android

开始工作