pod install post_install 步骤上出现重复的 UUID 警告

Mon*_*key 7 xcode ios cocoapods

在我的 podfile 中运行以下内容时

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我收到这些警告:

[!] [Xcodeproj] Generated duplicate UUIDs:

XCBuildConfiguration --
XCBuildConfiguration --
PBXBuildFile --
PBXBuildFile --
Run Code Online (Sandbox Code Playgroud)

这是什么原因造成的?我注意到我的计划中有一些剩余的 tvOS 目标 - 这是可能的原因吗?

Daw*_*ong 3

这是由不同目录中的重复文件引起的。有时,当您将文件移动到另一个目录时,Xcode 可能会出错并重复文件。

我找到这些重复文件的解决方案,

  1. 将错误消息复制到名为的文本文件中duplicateUUIDs.txt
  2. 获取排序的文件名并输出重复的项目
grep -E '[a-zA-Z+]+\.(h|m|swift)' -o duplicateUUIDs.txt | sort | uniq -d
Run Code Online (Sandbox Code Playgroud)
  1. 在你的 pod 源目录中找到它们并删除不需要的文件。

另一种查找重复文件的方法

find . -path ./.git -prune -o -type f -exec basename {} + | sort | uniq -d
Run Code Online (Sandbox Code Playgroud)

where表示查找时-path ./.git -prune -o排除目录.git

https://github.com/CocoaPods/CocoaPods/issues/4370#issuecomment-602368518