无法使用 CLI 构建 Cordova iOS 项目,但可以 build/run Xcode 项目
Can't build Cordova iOS project using CLI but can build/run the Xcode project
Cordova 绝对是新手。这些是我完成的步骤:
- 签出现有项目
- 运行
cordova build ios
以上生成此构建错误:
(node:10242) UnhandledPromiseRejectionWarning: Error [ERR_UNHANDLED_ERROR]: Unhandled error. (The platform "ios" does not appear to be a valid cordova platform. It is missing API.js. ios not supported.)
我在 Google 上搜索了上述问题的解决方案,普遍的共识似乎是删除然后添加 iOS 平台。
现在有问题了。查看提交历史,我可以看到对 platforms
目录中的文件进行了代码更改,所以我不能删除它,或者...
问题 1)
我可以吗?
问题 2)
在 platforms
目录中进行代码更改是否正确?因为这些似乎是生成的目录。
问题 3)
为什么当我在 platforms/ios
下打开 Xcode 项目时,尽管出现上述 Cordova CLI 错误,我仍然能够 build/run 它正常?
手动编辑平台文件是不对的。并且一些手动更改可能会使项目无法构建,因此可能与某人所做的手动更改有关。因此,如果您不想冒险删除平台,请从 Xcode
继续构建
从 root www
到 platforms/ios
由 cordova 命令传输,例如我们 cordova prepare ios
或 cordova build ios
或 cordova run ios
.
因此,如果由于该错误而无法执行 cordova prepare ios
,您可以尝试一些操作。
将您的文件从 www
复制到 platforms/ios
,而不替换整个文件夹,只替换重复的文件。 cordova prepare ios
不只是一个副本,它还做一些 modifications/aditions,但如果您不删除现有文件,它可能会起作用。
创建一个新项目并将 platforms/ios/cordova
复制到您自己的项目中,看看是否可以解决上述问题,因为 Api.js 文件就在那里。
降级 Cordova CLI,尝试最新的 7.x.x,如果它不起作用,请尝试最新的 6.x.x,其中一个不需要 Api.js 因为它比较新。
Cordova 绝对是新手。这些是我完成的步骤:
- 签出现有项目
- 运行
cordova build ios
以上生成此构建错误:
(node:10242) UnhandledPromiseRejectionWarning: Error [ERR_UNHANDLED_ERROR]: Unhandled error. (The platform "ios" does not appear to be a valid cordova platform. It is missing API.js. ios not supported.)
我在 Google 上搜索了上述问题的解决方案,普遍的共识似乎是删除然后添加 iOS 平台。
现在有问题了。查看提交历史,我可以看到对 platforms
目录中的文件进行了代码更改,所以我不能删除它,或者...
问题 1) 我可以吗?
问题 2)
在 platforms
目录中进行代码更改是否正确?因为这些似乎是生成的目录。
问题 3)
为什么当我在 platforms/ios
下打开 Xcode 项目时,尽管出现上述 Cordova CLI 错误,我仍然能够 build/run 它正常?
手动编辑平台文件是不对的。并且一些手动更改可能会使项目无法构建,因此可能与某人所做的手动更改有关。因此,如果您不想冒险删除平台,请从 Xcode
继续构建从 root www
到 platforms/ios
由 cordova 命令传输,例如我们 cordova prepare ios
或 cordova build ios
或 cordova run ios
.
因此,如果由于该错误而无法执行 cordova prepare ios
,您可以尝试一些操作。
将您的文件从
www
复制到platforms/ios
,而不替换整个文件夹,只替换重复的文件。cordova prepare ios
不只是一个副本,它还做一些 modifications/aditions,但如果您不删除现有文件,它可能会起作用。创建一个新项目并将
platforms/ios/cordova
复制到您自己的项目中,看看是否可以解决上述问题,因为 Api.js 文件就在那里。降级 Cordova CLI,尝试最新的 7.x.x,如果它不起作用,请尝试最新的 6.x.x,其中一个不需要 Api.js 因为它比较新。