我可以构建一个ARC框架并在非ARC项目中使用它吗?

时间:2011-11-01 13:46:31

标签: iphone frameworks automatic-ref-counting

我觉得这个标题很好地解释了我的问题,我现在正在研究一个小框架以满足我的个人需求,并考虑用ARC构建它(如果可能的话?),并在旧项目中使用它在ARC之前建造?

3 个答案:

答案 0 :(得分:7)

是的,有一点需要注意:如果你有iOS 4.x作为部署目标,则需要一个补充库来处理旧运行时的ARC编译代码。对于使用ARC构建的应用程序,它与应用程序一起打包。如果您在非ARC应用程序中使用ARC编译的库,则不包括此项。

您可以手动将此库链接到非ARC应用程序,以通过将-fobjc-arc添加到应用程序的其他链接器标志中来避免旧操作​​系统版本上的运行时问题。

有关此问题的更多讨论,请参阅this Apple Developer Forums thread

答案 1 :(得分:2)

您可以链接Apple提供的胶水库(正如Brad在上面的回答中所说)。但是,__ weak变量限定符与4.3以下的操作系统不兼容(如此处所述:sudo注释中的iOS 5 Best Practice (Release/retain?))。

答案 2 :(得分:1)

应该没问题。该库已经编译,因此ARC / NonARC不再重要。