有两种情况:
第一种:在ARC的项目中编译non-ARC文件(比如在ARC的项目中使用MRC类型的文件,ASIHttpRequest框架就不支持ARC)
步骤:<project name> -> <target name> -> <build phares> -> <Complie Source> -> 双击文件名 -> 在文本区添加参数”-fno-objc-arc“
第二种:在non-ARC的项目编译支持ARC的文件
步骤:<project name> -> <target name> -> <build phares> -> <Complie Source> -> 双击文件名 -> 在文本区添加参数”-fobjc-arc“
补充:
1、编译参数仅添加到non-ARC的.m文件即可。
2、这种混编也存在一定风险,而且从xcode 5.1开始不支持MRC管理内存的方式了。所以该种方法只是临时解决方案,还是纯ARC比较好。
3、如果你项目的文件居多,那么可以使用一个开源的脚本程序:把非ARC文件放到有个文件夹,然后运行脚本即可。
网址见下图: