使用静态库的一些问题 -all_load

1、使用类目
在我们的静态库中涉及到 类目 catagory的使用时,会崩溃;
此时我们需要设置project的Info里面的Link Flag处,增加-all_load,这样会链接所以存在的symbol;
这是我们常用的一种处理方法,除此之外我们还可以使用以下方法:
若我们使用了类目
"NSObject+SBJSON.h" 
我们在h,m文件分别增加以下声明
@interface DummyClass_NSObject_SBJSON {} 
@end 
@implementation DummyClass_NSObject_SBJSON 
@end 


2、使用nib
若封装静态库的时候我们使用了xib文件,亦有可能会出现此种形式的崩溃
Unknown class XXX in Interface Builder file
此处由于在代码中class XXX你并未引用过,具体的原理我也没有特别弄清楚,还希望高手帮助我们解释一下;
我暂时做的处理时在接口处优先将这些 class 执行一个方法, 比如 [Class class];

这个问题的原因应该是由于原先我的代码中并没有调用到 class XXX 相关方法;
而静态库的一个优点是:链接器可以从静态库中只取出需要的部分来做链接。故没有链接 这些没有调用过方法的 class;
暂时用上面的解决方案解决了,不知道有没有更好的方法来解决这个问题;


以下两种情况都可以设置project的Info里面的Link Flag处,增加-all_load,解决

转:http://blog.csdn.net/leonpengweicn/article/details/6799994

 

在使用静态链接库时,如果出现一些莫名其妙的链接问题,如下提示:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CPTMutableNumericData setDataType:]: unrecognized selector sent to instance 0x1edcee60'

可尝试设置Link Flag 为 -all_load 。

 

 

 

posted @ 2013-07-15 13:36  ygm900  阅读(1629)  评论(0编辑  收藏  举报