情形一:可能是有一些源码文件没有加入工程所导致的,找到相应的.h和.m文件,将其add进入项目工程即可解决这种问题。
情形二:也有可能是某些framework没有加入项目中,
示例:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MFMessageComposeViewController", referenced from:
l_OBJC_$_CATEGORY_MFMessageComposeViewController_$_BlocksKit in BlocksKit(BlocksKit)
原因:
这是编译器找不到符号定义,通常这意味着某些framework没有加入项目中
解决参考:
解读信息,是因为找不到叫MFMessageComposeViewController的ObjC类。
查找MFMessageComposeViewController的信息,得知其定义在MessageUI.framework中,将其加入到项目中即可
情形三:有可能是工程中重复"add"了相同的.m或.h或.cpp文件,就是工程编译时找到了两个相同的文件有可能会导致这种报错。