在使用下拉刷新类库EGORefreshTableHeaderView的时候,将资源文件添加到工程中,但是忘记假如QuartzCore.framework框架,造成编译错误:


Undefined symbols for architecture i386:

  "_CATransform3DMakeRotation", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_OBJC_CLASS_$_CALayer", referenced from:

      objc-class-ref in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_OBJC_CLASS_$_CATransaction", referenced from:

      objc-class-ref in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_CATransform3DIdentity", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_kCAGravityResizeAspect", referenced from:

      -[EGORefreshTableHeaderView initWithFrame:arrowImageName:textColor:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_kCATransactionDisableActions", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)




解决方法:targets——>build phases——>link binary with libraries——>QuartzCore.framework


当添加其他类库的时候也可能因为没有添加framework或者是它们依赖的库同样也会出现这样错误。