我在Xcode 6.1中遇到了以下链接器错误,而在Xcode 6.01中则没有问题:
Undefined symbols for architecture x86_64:
"__TWvdvC7Bamberg18TourViewController2mmT_", referenced from:
__TFC7Bamberg18TourViewControllerm2mmT_ in tours.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我已经了解了标准建议,尝试了无数方法:
- 清理项目和构建文件夹
- 删除组织者和开发人员文件夹中的派生数据
- 从模拟器和设备中删除应用程序的先前版本
- 重置模拟器
- 将"仅构建活动架构"设置为Yes/No
- 玩弄编译器和架构设置
- 添加每一个可以想象到的框架(包括添加所有框架)
- 确保所有实现文件都包含在"Compile Sources"中
- 我甚至重新创建了整个项目在XCode 6.1,以确保不是一些隐藏的错误派生数据问题
最后,我成功地将问题源头指向了一个被导入的Objective C类,它已经被很好地桥接 - 当我不使用这个类时,错误就消失了:https://github.com/mrcrow/MRoundedButton
如果我直接在6.1中打开该类的演示项目,它能够正常工作。所以我认为这必须是该类与我的具体代码冲突或该类与Swift代码在一般情况下的桥接错误。
非常感谢任何帮助。
MRoundedButton.h
和MRoundedButton.m
两个类,还是通过 Cocoa Pods 引入的? - raurora