无法使用CLI构建Cordova iOS项目,但可以构建/运行Xcode项目

时间:2018-09-19 08:55:07

标签: ios cordova cordova-cli

对Cordova来说绝对是新手。这些是我已经完成的步骤:

  1. 检出现有项目
  2. 运行cordova build ios

上面的代码会生成此构建错误:

  

(节点:10242)UnhandledPromiseRejectionWarning:错误[ERR_UNHANDLED_ERROR]:未处理的错误。 (平台“ ios”似乎不是有效的cordova平台。缺少API.js。不支持ios。)

我已经针对上述解决方案进行了Google搜索,并且普遍的共识似乎是删除并添加iOS平台。

现在有一个问题。查看提交历史记录,我发现platforms目录中的文件已进行了代码更改,因此我不能只是删除它,或者...

问题1) 我可以吗?

问题2)platforms目录中进行代码更改是否正确?因为似乎这些目录是生成的目录。

问题3) 为什么在platforms/ios下打开Xcode项目时,尽管上面出现了Cordova CLI错误,我仍然可以正常构建/运行它?

1 个答案:

答案 0 :(得分:1)

手动编辑平台文件是不正确的。而且某些手动更改可能会使项目无法构建,因此可能与某人所做的手动更改有关。因此,如果您不想冒险删除平台,请继续从Xcode进行构建

从根wwwplatforms/ios的传输是通过cordova prepare ioscordova build ioscordova run ios这样的cordova命令进行的。

因此,如果由于该错误而无法执行cordova prepare ios,则可以尝试一些操作。

  1. 将文件从www复制到platforms/ios,而不替换整个文件夹,而只是替换重复的文件。 cordova prepare ios不仅是副本,还进行了一些修改/添加,但是,如果您不删除现有文件,则可能会起作用。

  2. 创建一个新项目,并将platforms/ios/cordova复制到您自己的项目中,看看是否可以解决上述问题,因为这就是Api.js文件所在的位置。

  3. 将Cordova CLI降级,尝试使用最新的7.xx,如果它不起作用,请尝试使用最新的6.xx,其中之一将不需要Api.js,因为它相对较新。 p>