iOS Xcode14之Legacy Build System

10年老项目终于迎来了末日?Xcode14已经完全废弃了Legacy Build System的使用,我的项目还能运行吗?

答案:肯定可以!

一、关于报错提示

报错信息:

提示信息:error build: Multiple commands produce ‘****’
详细信息:Target ‘****’ (project ‘****’) has copy command from ‘****’ to ‘****’

二、解决方法

路径重复,一个一个删除就可以,大致内容有:

  • 1、Xib。在Build Phases搜了下错误提示中的Xib文件,发现在Copy Bundle ResourcesCompile Sources都存在,删除其中一个即可。

  • 2、图片和html文件,概括为资源文件比较合适。根据提示在Build Phases搜索这类文件,发现在不同的目录下,有相同命名的文件,在Copy Bundle Resources删除提示语目录下载的资源即可

再次提醒!:按提示一个一个删除,不要一次性全删了。不要听信别的文章说plist不能出现在Copy Bundle Resources,就无脑删除,按提示一个一个解决。

3、一些废话

最近有个websocket的bug,测试反馈在iOS15.7的设备上,无法接收到websocket的消息。但是我的Xcode版本号较低,没法真机调试,就将Xcode升级到了14.0.1,升完才想起来,这个项目都10年了。果然,运行报错!

其实这个项目在升级Xcode13的时候就无法运行了,当时多亏了Legacy Build System还能用,所以没怎么花时间,就把问题解决了。顺便引入了cocoapods管理第三方库(没错!这就是个原始工程,几百个目录,翻起来都费劲),并给一些库做了升级。

虽然可以下载旧版的Xcode,但为了以后项目适配之类的问题,还是决定,先解决看看。

可能是之前引入cocoapods管理第三方库并删除了一些用不到的第三方库的功劳,解决的过程,算得上比较顺利,半天的时间就完成了。

重复的资源文件较多,要耐心删除,一个个解决,不要多删除或一次性全删了。

你可能感兴趣的:(iOS Xcode14之Legacy Build System)