10年老项目终于迎来了末日?Xcode14
已经完全废弃了Legacy Build System
的使用,我的项目还能运行吗?
答案:肯定可以!
一、关于报错提示
报错信息:
提示信息:error build: Multiple commands produce ‘****’
详细信息:Target ‘****’ (project ‘****’) has copy command from ‘****’ to ‘****’
二、解决方法
路径重复,一个一个删除就可以,大致内容有:
-
1、Xib。在
Build Phases
搜了下错误提示中的Xib
文件,发现在Copy Bundle Resources
和Compile 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
管理第三方库并删除了一些用不到的第三方库的功劳,解决的过程,算得上比较顺利,半天的时间就完成了。
重复的资源文件较多,要耐心删除,一个个解决,不要多删除或一次性全删了。
网友评论