我觉得这个标题很好地解释了我的问题,我现在正在研究一个小框架以满足我的个人需求,并考虑用ARC构建它(如果可能的话?),并在旧项目中使用它在ARC之前建造?
答案 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不再重要。