在原生iOS(Swift语言)开发过程中,从其他地方复制了几个文件到项目中,修改了一番,然后运行,发现就直接报错了:
Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-agcsjjjleigkjkeeyhgomzjrqefh/Build/Intermediates.noindex/xxx.build/Debug-iphoneos/xxx.build/Objects-normal/arm64/LocalViewController.stringsdata'
Target 'xxx' (project 'xxx') has Swift tasks not blocking downstream targets
各种修改 各种百度后得到一个信息:就是可能项目中存在重复库或者重复引用了某个文件,遇到类似问题的开发者都是某个库重复了,所以网上的说法都是去查看三方库是否有重复,在项目的target 中 Build Phases 下面分别查看 Link Binary With Libraries 和 Copy Bundle Resources 这两个地方
我也按照此方法去做,甚至把项目中引用的库删除后重新引入,还是没有解决。
最后把之前的代码还原,又按以前的方法试了一次,才发现是复制的文件中有与当前项目中文件名重复的.swift 文件,在 Build Phases -> Complie Sources 中可以查看两个相同的.swift 文件
最后我又试了一下, 直接新建一个.swift 文件,文件名称与已经存在的文件同名就会出现这个问题,不得不吐槽一下 Xcode 对于同名文件这个错误的提示也太不够友好了吧。