【问题标题】:Cordova project can't remove plugin after update my project更新我的项目后,Cordova 项目无法删除插件
【发布时间】:2023-03-08 09:43:01
【问题描述】:

我正在尝试使用 xcode 9 将我的 Cordova Ionic 项目 ios 平台从 3.0.1 升级到最新的 4.5.2。我删除了 ios 平台并在 CLI 7.1.0 下重新添加它。然后我通过将旧的 .xcodeproject 复制到新的 ios 平台来恢复所有 .xcodeproject 设置,并重置工作区中所有必要的路径。幸运的是,我的项目构建成功并在调试模式下运行良好。

但是,当我尝试在新项目中升级一些过时的插件时,我发现我只能“添加”插件,一切正常。但是当我尝试删除任何插件时(无论它们是否已添加到新工作区中),CLI 总是显示红色字体消息:错误:找不到 *-Info.plist 文件或 config.xml 文件。

如果我尝试运行 ionic prepare ios 命令,也会显示此消息。有趣的是,如果我使用最初生成的 .xcodeproject 文件cordova,那么一切都会正常工作。

您知道哪些特定设置有误,因此 CLI 只能识别新的 .xcodeproject 文件,而不能识别旧的 .xcodeproject 文件吗?


回答“为什么不想使用自动生成的新 .xcodeproject”。我的项目非常庞大,其中包含 4 个不同的目标,每个目标都有不同的项目设置。首先,CLI 不知道这一点,只会生成一个目标,我必须再复制 3 次。其次,要一个一个恢复每个目标设置会很痛苦。第三,新项目不包含我在 appDelegate 类中所做的 iOS 本机代码的任何更改。因此,我只想找到一个技巧来度过难关。

【问题讨论】:

标签: ios xcode cordova ionic-framework


【解决方案1】:

Cordova 自动创建文件,我相信复制从旧版本生成的文件并粘贴新文件会破坏您的项目

如果您删除平台,再次添加但不重用 .xcodeproject,会发生什么情况?正常的事情是你必须正常工作。

另一种选择是升级 Cordova 或降级,使用nvm,您可以拥有多个版本的Nodejs 和Cordova。

【讨论】:

  • 感谢您的回答。但我的职责是将ios平台更新为更高的cordova版本。我已经尝试过你的两个建议。 1. 如果我删除并重新添加,我会丢失 .xcodeproject 文件中的很多设置,导致我的应用程序无法正确编译。 2. 我被要求使用最新的 cordova 版本,所以这不是我的选择。这个项目很大,它有 4 个不同的构建目标,每个目标都有不同的构建设置和构建阶段。可以想象,手工修复它们是不明智的。
【解决方案2】:

你没有在你的问题中提到你是如何删除 ios 平台的,请尝试如下操作:

cordova platform remove ios

cordova platform list这里可以验证ios平台删除了

cordova platform add ios --save

我不知道您使用的是什么版本,但 cordova 6.5.0 应该可以解决 ios-build 问题。您可以使用如下方式安装:

sudo npm i -g cordova@6.5.0

【讨论】:

  • 正如我在问题中提到的,如果我将 Cordova 自动生成的 .xcodeproject 放在 iOS 平台根目录中,那么一切正常。 (在这里,当我说“自动生成”时,我的意思是做你在答案中提到的完全相同的事情。)因此它根本不是构建问题。我的问题是,如何修改“旧”xcodeprject 文件,使其适合新工作区。
  • @n4feng 这里有 2 个问题 1.为什么要更改旧的 xclodeproject,因为在每次构建时,您都会自动获取这些文件。2.您指的是什么变化?
  • "1. 如果我删除并重新添加,我会丢失 .xcodeproject 文件中的许多设置,因此我的应用程序无法正确编译" -- 上一个答案中的命令引用。 2. 任何可以让 Cordova CLI 识别旧的 .xcodeproject 文件而不抛出错误消息的更改
  • @n4feng 啊明白了,那么你需要查看钩子,它会在构建后直接添加它们,以便按照你需要的方式工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多