简易方案,选择你编译的的target,build phases-->Compiled sources中,双击没用arc的文件,写-fno-objc-arc
相应的,没开启ARC的工程单独为某文件开启arc,compile flag填 -fobjc-arc
如果你为别人写框架,需要兼容arc、非arc、gc等多模,在代码中可以用预处理判断:
#if(!__has_feature(objc_arc))
[_someObj release];
#endif
也可以在你全局的pch中加入这个宏
#ifndef OBJC_ARC_ENABLED
#ifdef __has_feature
#define OBJC_ARC_ENABLED __has_feature(objc_arc)
#else
#define OBJC_ARC_ENABLED 0
#endif
#endif
以后判断就
#if(OBJC_ARC_ENABLED)
[_someObj release];
#endif