Crash Log:
Last Exception Backtrace:
0 CoreFoundation 0x2f087f06 __exceptionPreprocess + 1261 libobjc.A.dylib 0x3981ece2 objc_exception_throw + 34
2 CoreFoundation 0x2f08b832 -[NSObject(NSObject) doesNotRecognizeSelector:] + 198
3 CoreFoundation 0x2f08a132 ___forwarding___ + 702
4 CoreFoundation 0x2efd9094 _CF_forwarding_prep_0 + 20
5 AmazingBOX 0x0036cebe -[RHAddressBookSharedServices init] (RHAddressBookSharedServices.m:124)
6 AmazingBOX 0x0036cc62 +[RHAddressBookSharedServices sharedInstance] (RHAddressBookSharedServices.m:98)
原因:
Project引用了RHAddressBook库,其中有catagory类NSThread+RHBlockAdditions.h。
因此,需要在other linker flag里面使用-ObjC、-force_load或者-all_load。
解决:修改链接参数(Other Linker Flag)
1.去掉-ObjC、 -all_load参数(这个参数会强制所有的静态链接库都加载其中的category);
2.改为逐一加载Three20的各个静态库,即修改链接参数(Other Linker Flag)为如下形式:
-force_load $(SRCROOT)/RHAddressBook/libRHAddressBook.a