-force_load

Crash Log:

Last Exception Backtrace:

0   CoreFoundation                 0x2f087f06 __exceptionPreprocess + 126
1   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

原文地址:https://www.cnblogs.com/bhlsheji/p/5176122.html