我正在尝试构建一个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
有什么想法吗?
答案 0 :(得分:50)
我遇到了这个问题但是设法通过简单地删除然后在我的项目中添加IOS平台来解决它:
UNNESTING
这似乎解决了在更新Cordova时遇到的任何问题......
答案 1 :(得分:24)
我猜测尝试使用弃用代码是查看错误消息的原因。
似乎应该使用最新版本的节点。我还为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 ...
答案 2 :(得分:2)
与最新版本的cordova(7.0.1)相同的问题
添加iOS平台时遇到错误,并设法通过将nodeJS升级到最新版本(6.11.1)来解决此问题
答案 3 :(得分:1)
我总是会解决此错误,删除平台并再次添加(在我的情况下为android)
page = get_parsed_page(url)
maps_info = get_maps_info(url)
if 'Best of 3' in maps_info:
... # code to find winner/loser stuff omitted for brevity
return (team_winner_map1, team_loser_map1,
team_winner_map2, team_loser_map2,
team_winner_map3, team_loser_map3) # move the current return statement here!
elif 'Best of 1' in maps_info:
...
return (team_winner_map1, team_loser_map1) # return a 2-tuple in this case
else: # report error if we don't get any of the strings we expect
raise ValueError("Expected Best of 3 or Best of 1, got map-info: {!r}".format(map_info))
等到完成...
phonegap platform rm android
就是这样。让我知道它是否适合您。
答案 4 :(得分:0)
使用cordova@6.0解决了问题
答案 5 :(得分:0)
对于那些尝试更新NodeJ却无法正常工作的人。
转到检入您的platform / android或platform / ios文件夹。我的是空的。删除文件夹,然后再次运行ionic cordova add android/ios
。
答案 6 :(得分:0)
降级到cordova 8,并且可以正常工作。
答案 7 :(得分:0)
同时安装了Android和iOS也会发生此问题。至少我是这种情况。
当我运行命令时:
cordova platform rm android
开始工作