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

CordovaCordova Ios

Cordova Problem Overview


I'm trying to build a cordova ios app but not having much luck and getting strange errors.

> Using this version of Cordova with older version of cordova-ios is > deprecated. Upgrade to [email protected] or newer. > > Error: Your ios platform does not have Api.js

The first warning says my cordov-ios version is old, which is strange as this is my output:

$ 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

So I clearly have the latest versions necessary.

And then the Api.js error. What is causing this?

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

Any ideas?

Cordova Solutions


Solution 1 - Cordova

I was having exactly this problem but managed to solve it by simply removing and then adding the IOS platform within my project:

cordova platform rm ios
cordova platform add ios

This seemed to fix whatever had somehow got broken when updating Cordova...

Solution 2 - Cordova

I'm guessing that attempting to use deprecated code is the reason for seeing the error message.

It appears that one should be using the latest version of node. I also performed all my software updates for Xcode. I also connected my iPhone to my computer. Even after that (and before I updated node) I was still seeing this:

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

Then I decided to resolve the warning by updating node. And finally success:

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 ...

Solution 3 - Cordova

Has same issue with latest version of cordova (7.0.1)

Faced error while adding iOS platform and managed to resolve it by upgrading nodeJS to latest version (6.11.1)

Solution 4 - Cordova

This problem can also occur when you have both the Android and iOS installed. At least this was the case for me.

When I ran the command:

cordova platform rm android

It started to work

Solution 5 - Cordova

use [email protected] solved the problem

Solution 6 - Cordova

For those of you that have tried updating your NodeJs and that didn't work.

Go check in your platforms/android or platforms/ios folder. Mine was empty. Delete the folder, and run ionic cordova add android/ios again.

Solution 7 - Cordova

Downgraded to cordova 8 and it's working.

Solution 8 - Cordova

I always fix this error removing the platform and adding it again (android in my case)

phonegap platform rm android

wait until it finishes...

phonegap platform add android

And that´s it. Let me know if it is fixed for you.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionandyView Question on Stackoverflow
Solution 1 - CordovaLuminousEagleView Answer on Stackoverflow
Solution 2 - CordovaDavid VezzaniView Answer on Stackoverflow
Solution 3 - CordovaGandhiView Answer on Stackoverflow
Solution 4 - CordovaSinan SametView Answer on Stackoverflow
Solution 5 - Cordovalnd ShawnView Answer on Stackoverflow
Solution 6 - CordovaRuanView Answer on Stackoverflow
Solution 7 - CordovaJuan AngelView Answer on Stackoverflow
Solution 8 - CordovaInsaurraldeAPView Answer on Stackoverflow