Xcode / Swift'文件名使用了两次'构build错误

我是新来的Swift,并且在我(有可能)通过CocoaPods正确安装了第三方框架之后正在挣扎。

错误如下。

<unknown>:0: error: filename "MainController.swift" used twice: '/Users/myname/Desktop/ProjectName/ProjectName/Controllers/MainController.swift' and '/Users/myname/Desktop/ProjectName/ProjectName/Controllers/MainController.swift' <unknown>:0: note: filenames are used to distinguish private declarations with the same name Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

据我可以从其他论坛收集,看似明显的是,我必须删除两次使用的文件之一。 但是我不能看到他们将被安装两次。 如果我从/ Controllers文件夹中删除该文件错误成为“找不到文件”等

所以我的问题是,这些冲突的文件位于哪里,如何安全地删除其中的一个? 还是只有一个文件,但它被使用了两次 – 在这种情况下,我该如何阻止?

非常感谢。


好吧,我觉得评论正在迷失,所以在这里澄清,看看是否可以触发一个答案,因为不能够build立和运行,这从昨天起。

我现在只有Pods-> Pods / MainController文件夹中的swift文件。

当我build立我得到一个文件没有find。 然而,它正在寻找的文件是在App-> Controllers文件夹,我从哪里删除它。 如果我把文件放在那里,我得到了“使用两次”的错误。

那么如何阻止它在控制器中查找文件并在Pod中查找?

谢谢

尝试search,如果你添加了相同的ViewController – MainController.swift两次。

如果不是,则在代码库中searchclass MainController

关于豆荚,最好使用所有的豆荚作为框架,

所以请尝试使用'use_frameworks!' 在您的Podfile ,然后从terminal重新安装pod installpod install ”。

检查目标的“构build阶段”“编译源”设置中没有包含两次文件。 在合并project.pbxproj时可能会发生这种情况。

如果这是与核心数据相关的,并且您没有在生成时为您生成实体(您自己手动创build它们),并且遇到此问题,则可能是您没有检查更新.xcdatamodelld中的实体文件。 会发生什么是Xcode将创build一个重复的类的现有类,因为你告诉Xcode在运行时生成的实体。

在数据模型检查器中将“模块”更改为“当前产品模块”,将“Codegen”更改为“手动/无”。
在这里输入图像说明

主要想法是…是的,检查重复的类。 但在我的情况下,我没有。 我有一个很大的项目,join了WatchKit,很多东西,有时候我有一个“重复”的课程。 我删除了重复,但问题依然存在。 要解决这个问题,我做了这个:

  • 首先,在项目外的文件夹中备份有问题的文件。
  • 删除重复的文件和最初的文件
  • 对于你的每个目标:去构build阶段,并删除有问题的文件的所有提及。
  • 再次将文件添加到您的项目,瞧!

这可以在你的project.pbxproj当你与github或类似的工具合并。

这可以修复在你最喜欢的文本编辑器中打开project.pbxproj ,并删除重复声明

希望解决你的问题。

我会加上乔希·奥康纳的回答,使他所推荐的改变是我的问题的根源。 我不得不通过点击shift-option-command-k清理build文件夹来完成修复。