ios静态库中的类别(category)在工程中不能使用

2018-04-06  本文已影响173人  liboxiang

一、异常的原因

二、iOS程序还需要做的

三、更好的方法

Three20库给出了一个宏:

#define TT_FIX_CATEGORY_BUG(name) @interface TT_FIX_CATEGORY_BUG_##name @end \
                                  @implementation TT_FIX_CATEGORY_BUG_##name @end

在某个合适的地方比如根头文件中定义这个宏函数,然后为每个只包含category的文件的category实现前面调用个宏函数,传入一个不会冲突的名字作为参数(这个宏函数会为你定义一个空的class,名字冲突就会导致class定义冲突),此时不再需要-all_load或者-force_load,因为不存在只包含category的文件。linker的bug也就无从触发。

上一篇 下一篇

猜你喜欢

热点阅读