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 install
“ pod install
”。
检查目标的“构build阶段”“编译源”设置中没有包含两次文件。 在合并project.pbxproj时可能会发生这种情况。
如果这是与核心数据相关的,并且您没有在生成时为您生成实体(您自己手动创build它们),并且遇到此问题,则可能是您没有检查更新.xcdatamodelld中的实体文件。 会发生什么是Xcode将创build一个重复的类的现有类,因为你告诉Xcode在运行时生成的实体。
在数据模型检查器中将“模块”更改为“当前产品模块”,将“Codegen”更改为“手动/无”。
主要想法是…是的,检查重复的类。 但在我的情况下,我没有。 我有一个很大的项目,join了WatchKit,很多东西,有时候我有一个“重复”的课程。 我删除了重复,但问题依然存在。 要解决这个问题,我做了这个:
- 首先,在项目外的文件夹中备份有问题的文件。
- 删除重复的文件和最初的文件
- 对于你的每个目标:去构build阶段,并删除有问题的文件的所有提及。
- 再次将文件添加到您的项目,瞧!
这可以在你的project.pbxproj当你与github或类似的工具合并。
这可以修复在你最喜欢的文本编辑器中打开project.pbxproj ,并删除重复声明 。
希望解决你的问题。
我会加上乔希·奥康纳的回答,使他所推荐的改变是我的问题的根源。 我不得不通过点击shift-option-command-k清理build文件夹来完成修复。