Cordova 错误:您的 ios 平台没有 Api.js

Posted

技术标签:

【中文标题】Cordova 错误:您的 ios 平台没有 Api.js【英文标题】:Cordova Error: Your ios platform does not have Api.js 【发布时间】:2017-10-17 23:11:17 【问题描述】:

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

将此版本的 Cordova 与旧版本的 cordova-ios 一起使用是 已弃用。升级到 cordova-ios@4.0.0 或更高版本。

错误:您的 ios 平台没有 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 错误。这是什么原因造成的?

错误:您的 ios 平台没有 Api.js

有什么想法吗?

【问题讨论】:

您的 cordova-ios 已弃用..不是 cordova cli .. 也许试试 cordova platform add ios@latest 感谢 suraj。但是我的 cordova-ios 版本是 4.4.0,那么它是如何被弃用的呢?这是最新的不? @andy 请接受对您有用的答案,至少您接受的答案会对某人有所帮助。谢谢 【参考方案1】:

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

当我运行命令时:

cordova platform rm android

它开始工作了

【讨论】:

我必须同时删除 android 和浏览器平台,然后添加 ios。【参考方案2】:

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

phonegap platform rm android

等到它完成...

phonegap platform add android

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

【讨论】:

【参考方案3】:

已降级到 cordova 8 并且可以正常工作。

【讨论】:

【参考方案4】:

对于那些尝试过更新 NodeJ 但没有成功的人。

检查您的平台/android 或平台/ios 文件夹。我的是空的。删除文件夹,再次运行ionic cordova add android/ios

【讨论】:

【参考方案5】:

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

在添加 iOS 平台时遇到错误,并通过将 nodeJS 升级到最新版本 (6.11.1) 来解决它

【讨论】:

谢谢。从 6.9.2 升级到 v6 LTS 版本也对我有用。 @c0bra 很高兴它有帮助。干杯 @AshishKarpe 到底是什么问题?【参考方案6】:

使用cordova@6.0解决了问题

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以改为comment on any post;,provide answers that don't require clarification from the asker。【参考方案7】:

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

看来应该使用最新版本的节点。我还为 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 ...

【讨论】:

我一直在为这个“你的 ios 平台没有 Api.js”错误而苦苦挣扎,这终于是我的修复了。我正在使用 Visual Studio 构建远程并在 MacOS 上更新节点为我解决了这个问题。谢谢。 我在浏览器解决方案中遇到了类似的问题,同样有效 我尝试了cordova平台rm/add android.......无法安装'mx.ferreyra.callnumber':错误[ERR_UNHANDLED_ERROR]:未处理的错误。 (平台“.gradle”似乎不是一个有效的cordova平台。它缺少API.js。不支持.gradle。)我在Ubuntu上的版本:+ node -v v9.2.1 + cordova -v 7.1.0 + npm -v 5.5.1 + gradle -v ---------------------------------------- -------------------- Gradle 3.3【参考方案8】:

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

cordova platform rm ios
cordova platform add ios

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

【讨论】:

我尝试了这种方法,但它对我不起作用。在我的案例中,显式更新节点似乎是关键点。 如果没有 sudo 访问 cordova platform rm ios 将给出以下错误 rm: could not remove directory (code ENOTEMPTY): /Users/xyz/abc/platforms/ios - 使用 sudo 它可以工作。 但您需要将文件chown 回传给用户 这种方法对我有用,我已经删除了所有平台。添加回iOS,安装成功,没有这个错误。这很有帮助。

以上是关于Cordova 错误:您的 ios 平台没有 Api.js的主要内容,如果未能解决你的问题,请参考以下文章

Cordova build ios 没有通过,我没有收到任何错误。

Cordova 平台 ios 错误

VS2017 Cordova 构建错误 Remotebuild 要求您的项目使用带有 XCode 8.3 的 cordova-ios 4.3.0 或更高版本

更新cordova后无法构建ios/android平台

使用 cordova-ios 5 更新 Cordova 9

您想将您的新应用程序与 cordova 集成以针对本机 ios 和 android 需要时间而没有响应