Pod error: Unexpected duplicate tasks错误

2,723 阅读1分钟

在维护一个老的pod库, 进行pod lib lint的时候报错:

error: Unexpected duplicate tasks: 1) Target 'xxxFramework' (project 'Pods') has copy command from '/Users/User/Documents/xxx/xxxFramework/xxxFramework/Info.plist' to '/Users/User/Library/Developer/Xcode/DerivedData/App-ftresxeclhzazmebpojycfhpvtjv/Build/Products/Release-iphonesimulator/xxxFramework/xxxFramework.framework/Info.plist' 2) Target 'xxxFramework' (project 'Pods') has copy command from '/Users/User/Documents/xxx/xxxFramework/xxxFramework/Info.plist' to '/Users/User/Library/Developer/Xcode/DerivedData/App-ftresxeclhzazmebpojycfhpvtjv/Build/Products/Release-iphonesimulator/xxxFramework/xxxFramework.framework/Info.plist' 3) Target 'xxxFramework' (project 'Pods') has copy command from '/Users/User/Documents/xxx/xxxFramework/xxxFramework/Info.plist' to '/Users/User/Library/Developer/Xcode/DerivedData/App-ftresxeclhzazmebpojycfhpvtjv/Build/Products/Release-iphonesimulator/xxxFramework/xxxFramework.framework/Info.plist'

搜索解决问题的时候,大部分的答案有两个:

  1. Copy Bundle Resource 中添加了重复文件,去除即可
  2. 修改 build system 为 legacy

但是在我的pod工程里面,在 Copy Bundle Resource 中是没有找到这个plist文件的,此路行不通。

并且手动修改pod工程的 build system 为 legacy, 发现重新lint的时候,并没有生效,仍然使用的是 pod note: Using new build system

所以搜索了下 pod note: Using new build system 这个信息,看有没有小伙伴也遇到,下面这个cocoapod的issue里面详细的讲解了出现问题的原因和对应的解决方法: github.com/CocoaPods/C…

因为cocoapod的原因,编译部分文件可能会有问题,比如这里遇到的info.plist, 去除编译项即可:

s.exclude_files = "xxxFramework/xxxFramework/*.plist"