问题
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 cordova-ios@4.0.0 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?
回答1:
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 ...
回答2:
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...
回答3:
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)
回答4:
use cordova@6.0 solved the problem
回答5:
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.
回答6:
Downgraded to cordova 8 and it's working.
来源:https://stackoverflow.com/questions/44042641/cordova-error-your-ios-platform-does-not-have-api-js