我在我的项目中成功地使用了ARC。然而,我遇到过一些文件(例如,在单元测试和模拟对象中),其中ARC的规则现在有点脆弱。我记得听说过有一种方法可以在每个文件的基础上禁用ARC,尽管我一直没有找到这个选项。
这可能吗?如何在每个文件的基础上禁用ARC ?
我在我的项目中成功地使用了ARC。然而,我遇到过一些文件(例如,在单元测试和模拟对象中),其中ARC的规则现在有点脆弱。我记得听说过有一种方法可以在每个文件的基础上禁用ARC,尽管我一直没有找到这个选项。
这可能吗?如何在每个文件的基础上禁用ARC ?
当前回答
执行以下步骤以启用禁用ARC
选择Xcode项目 瞄准目标 选择Build phases部分 在构建阶段部分中选择编译源。 选择你不想禁用ARC的文件并添加-fno-objc-arc
其他回答
在Build Phases>Compile Sources中使用-fno-objc-arc标志即可
这是非常简单的方法,使个别文件非弧。
遵循以下步骤:
在单个文件上禁用ARC:
在Xcode中的目标/构建阶段/编译源中选择所需的文件 选择。m文件,你想让它成为NON-ARC 按回车键 类型-fno-objc-arc
非ARC文件到ARC项目标志:-fno-objc-arc
ARC文件到非ARC项目标志:-fobjc-arc
通过为这些文件添加-fno-objc-arc编译器标志,可以禁用单个文件的ARC。
在目标->构建阶段->编译源中添加编译器标志。您必须双击编译器标志下行的右列。您也可以通过按住cmd按钮选择文件,然后按enter键调出标志编辑框,将其添加到多个文件中。(请注意,编辑多个文件将覆盖它可能已经拥有的任何标志。)
我创建了一个示例项目:https://github.com/jaminguy/NoArc
更多信息请看这个答案: 禁用某些文件的自动引用计数
只要在Build Phases>Compile Sources中使用-fno-objc-arc标志,在你不想使用ARC的文件前面。
添加标志" -fno-objc-arc "。
简单的以下步骤: 应用>目标>构建阶段>编译源>添加标记后类" -fno-objc-arc "