2017-10-20 60 views
-1

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

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

如果我尝试运行离子准备ios命令,也会显示此消息。有趣的是,如果我使用最初生成的.xcodeproject文件cordova,那么所有的东西都可以正常工作。

有关特定设置错误的任何想法,以便CLI只能识别新的.xcodeproject文件,而不识别旧的.xcodeproject文件?


回答“为什么不想使用自动生成的新的.xcodeproject”。我的项目非常庞大,包含4个不同的目标,每个目标都有不同的项目设置。首先,CLI不知道,只会产生一个目标,我不得不复制它3次。其次,逐一恢复每个目标设置将是一件很痛苦的事情。第三,新项目不包含我在appDelegate类中创建的iOS本机代码中的任何更改。因此,我只想找到一个窍门来实现它。

+0

我看到一些类似的问题,但没有答案在下面的链接:https://stackoverflow.com/questions/44246127/error-could-not-find-info-plist- file-or-config-xml-file和https://stackoverflow.com/questions/37183033/cordova-ios-adding-extension-error-could-not-find-info-plist-file-or-config希望这些家伙可以很快得到他们的答案。 – n4feng

回答

0

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

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

另一种选择是升级科尔多瓦或降级,使用NVM你可以有和的NodeJS科尔多瓦的几个版本。

+0

感谢您的回答。但我的职责是将ios平台更新为更高版本的科尔多瓦版本。我已经尝试了你的两条建议。 1。如果我删除并重新添加,我在.xcodeproject文件中丢失了很多设置,这样我的应用程序无法正确编译。 2.我被要求使用最新的科尔多瓦版本,所以这不是我的选择。该项目相当庞大,它有4个不同的构建目标,并且每个构建目标都有不同的构建设置和构建阶段。正如你所想象的那样,手工恢复它们是不明智的。 – n4feng

0

你没有在你的问题中提到你是如何去除iOS平台,尝试做他们如下:

cordova platform remove ios 

cordova platform list在这里你可以验证iOS平台删除

cordova platform add ios --save 

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

sudo npm i -g [email protected] 
+0

正如我在问题中提到的,如果我将由Cordova自动生成的.xcodeproject放入iOS平台根目录中,那么一切正常。 (在这里,当我说“自动生成”时,我的意思是做与你在答案中提到的完全相同的东西)。因此,它根本不是构建问题。我的问题是,如何修改“旧”xcodeprject文件,以便它可以放入新的工作区。 – n4feng

+0

@ n4feng这里有两个问题1.为什么你想改变旧的xclodeproject,因为在每一个版本你都会自动获取这些文件。2.你所指的改变是什么? – Webruster

+0

“1.如果我删除并重新添加,我在.xcodeproject文件中丢失了很多设置,导致我的应用程序无法正确编译” - 在前面的回答中从命令引用。 2.任何可以让Cordova CLI识别旧的.xcodeproject文件而不抛出错误消息 – n4feng