0

我正在使用第三方框架,由于未定义的选择器而导致崩溃。供应商告诉我需要添加 all_load 作为链接器标志。似乎这个编译的库正在向 UIViewController 注入方法来处理某些未知的细节。我不愿意使用 all_load 链接器标志,因为它会加载所有内容,这会使我的应用程序二进制文件不仅包含该库中的所有内容,还包含每个库。我正在尽我所能保持我的应用程序二进制文件的大小,所以我已经要求供应商消除这个要求以及在@protocols 中声明的属性,这些属性要求我在我的实现中综合这些属性。这个库通过泄露如此多的关键细节来打破封装。我宁愿让代表和块做任何需要做的事情,

不需要 all_load 作为链接器标志是否有意义,或者我太挑剔了?允许第三方库使用类别将方法注入 UIViewController 等对象是否不危险,尤其是在可能存在名称冲突的情况下?

4

1 回答 1

1

我也遇到了同样的问题。并且我修改了第三方库的源代码,删除了分类。使用 -ObjC 链接器标志可能会导致名称冲突,特别是如果我们创建使用其他第三方的库。

于 2013-06-25T04:21:01.413 回答