iOS Multiple commands produce错误之Info.plist

error:Multiple commands produce '/Users/imac/Library/Developer/Xcode/DerivedData/IgnoreProject-gsfhgefvmptoimgvqgxewaenboit/Build/Products/Debug-iphoneos/IgnoreProject.app/Info.plist'

note: Target 'IgnoreProject' (project 'IgnoreProject') has copy command from '/Users/imac/Documents/IgnoreProject/IgnoreProject/Info.plist' to '/Users/imac/Library/Developer/Xcode/DerivedData/IgnoreProject-gsfhgefvmptoimgvqgxewaenboit/Build/Products/Debug-iphoneos/IgnoreProject.app/Info.plist'
note: Target 'IgnoreProject' (project 'IgnoreProject') has process command with output '/Users/imac/Library/Developer/Xcode/DerivedData/IgnoreProject-gsfhgefvmptoimgvqgxewaenboit/Build/Products/Debug-iphoneos/IgnoreProject.app/Info.plist'

你可能会这么做:

1.删除.app文件

删除.app文件

2.删除/Users/imac/Library/Developer/Xcode/DerivedData目录下的IgnoreProject-gsfhgefvmptoimgvqgxewaenboit文件夹,也就是经常说的清理DerivedData数据,此做法可以说是做法1的升级版,甚至有些不放心的,去清理了废纸篓。注:这里的IgnoreProject就是项目名称
清理DerivedData
清空废纸篓

3.删除原plist文件及路径,重新生成(复制)文件,重新添加文件并配置路径
删除plist文件
添加文件配置路径

最后发现忙活半天❌并没有像期望的那样消失不见,编辑器依旧提示Build Failed编译报错,而且报错内容也没变,所以我们再回归到最初的问题进行分析。

首先可以确定这并不是Info.plist文件路径的问题,接下来我们看看error的描述Multiple commands produce,很显然Multiple才是重点,再看看note中的描述,不难发现copy字眼,所以可以初步判定应该是有重复或者重名的东西存在,导致Building targets in dependency order编译不过发生错误,然后我们就可以尝试这样做:

方法一:选中项目TARGETS,选择Build Phases,展开Copy Bundle Resources下拉列表,选中列表中Info.plist文件点击-号键删除文件配置项。

删除Info.plist配置项

方法二:选中Info.plist文件项,取消Target MemberShip选中。
取消选中

那么问题来了,很多项目都是多TARGETS开发,需要自定义配置,而且大部分情况下单TARGETS模式下基本也都会另起炉灶自定义配置,所以方法一方法二满足不了自定义的需求,那么请尝试下面的方法三
方法三:重命名Info.plist文件或者重新自定义生成Info.plist文件,添加文件到项目中,选中项目TARGETS,选择Build Seetings,搜索关键字Info.plist或者滚动浏览找到Packaging栏,正确配置Info.plist File文件路径项。
自定义

方法三中多TARGETS添加多个自定义或副本Info.plist文件,但是Info.plist File文件配置路径一定要正确与文件路径一致,否则就会出现下面的情况
路径错误,找不到文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容