关键词静态库的iPhone设备3.0(Categories in static library fo

2019-06-17 11:16发布

我在我的静态库的类别。 任何应用程序开发人员应该设置-ObjC标记为“其它链接器标记”正确地使用我的静态库。 它工作正常的iPhone设备/ iPhone模拟器2.x和iPhone模拟器3.0。 但它崩溃的iPhone设备3.0。 由于写这篇文章是新的链接器错误。 他们建议使用一个多种接头标志:-all_load。 但是,当我加入这个标志,构建失败过,因为有重复的符号。

如何使用静态库类别的iPhone设备3.0吗? 有什么建议?

Answer 1:

我们遇到了同样的问题的范围内(低于3.0,-ObjC不再类别的链接) 核心情节框架 。 我可以说的是,对于我们来说,我们能够在目标应用程序中的-all_load选项添加到其它链接器标记,并且废除了运行时错误。 我们没有看到重复的符号的任何警告。

我已经提交了一份bug报告的链接行为,我相信其他人有。



Answer 2:

它是一种错误,试图修复与一劈另一错误引起的。 该类别的bug修复-all_load是一个总的黑客。

见这里更多。



Answer 3:

当您添加-all_load您的其他连接标志,确保所有的框架,该库的使用与您的目标应用程序链接。 否则,将无法编译。 就我而言,我有一个的MKMapView类,并没有与我的目标应用程序绑定MapKit框架,因此该类别属于没有在构建时发现的类。



Answer 4:

我遇到同样的“重复的符号”的问题。 如果没有-all_load标志,我们必须也包括我们的图书馆链接的是在应用程序链接行的所有库。 从应用程序的连接线拆除这些问题得到了解决。



文章来源: Categories in static library for iPhone device 3.0