现在新开发的iOS工程我们一般都会选择ARC,但之前的很多工程普遍采用的是非ARC编写的,于是我们会面临着两种类型的文件混合编译。
添加编译选项:
Project-->Build Phases-->Compile Source
1.ARC工程包含了非ARC文件,则添加对应的非ARC文件,双击,添加编译选项-fno-objc-arc
2.非ARC工程包含了ARC文件,添加ARC对应的.m文件,双加,添加编译选项-fobjc-arc
为了保险起见,我们还可以在文件中通过检测__has_feature来判断编译选项是否被正确添加
需要用ARC编译的.m文件中添加:
#if !__has_features(objc_arc)
#error This file wasn't compiled with ARC
#endif
需要使用非ARC编译的.m文件中添加:
#if __has_features(objc_arc)
#error This file was compiled with ARC
#endif
ARC、非ARC混编, ARC和MRC的转换
精选 转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【小白教程】ARC a750本地运行glm-4-9b,运行效果
openvino优化模型后,使用Intel ARC a750 GPU本地运行glm-4-9b,运行效果
List 命令行 显卡驱动 arc a750 -
关于ARC的介绍和ARC与MRC混编解决
1. ARC & MRC 混合开发在项目开发中,遇到使用MRC开发的第三方库怎么办?例如:ASI1> 尝\
ARC MRC 混编 ios开发 内存机制 -
【iOS开发】ARC和非ARC混合开发
##Xcode 项目中我们可以使用 ARC 和非e Sour
ios xcode ARC 弹出窗口 混合模式