问:“我们自己开发的SDK是支持ARC还是不支持ARC?”
答:“由于之前一直在非ARC环境下开发,故不支持。”
问:“那集成到支持ARC的项目中会有问题吗?”
答:“不会。”
分析:其实ARC只是编译器的特性,在编译代码的过程中会自动在适当的地方添加release之类的语句,它不是真正意义上的gc垃圾回收。而静态库就是编译后的代码,因此是不会有ARC和非ARC之说的。
解决方法:直接引用静态库.a文件,不用去管是否支持ARC。
另工程中添加的.m文件,可以使用ARC和非ARC的混合模式。
选中工程->TARGETS->相应的target然后选中右侧的“Build Phases”,向下就找到“Compile Sources”了。
如果你的项目使用的非ARC模式,则为ARC模式的代码文件加入-fobjc-arc标签。
如果你的项目使用的ARC模式,则为非ARC模式的代码文件加入-fno-objc-arc标签。