我在我的项目中成功地使用了ARC。然而,在一些文件(例如单元测试和模拟对象)中,ARC的规则现在有点更加脆弱。我记得听说有一种方法可以按文件禁用ARC,但是我一直无法找到这个选项。
这个可能吗?我如何按文件禁用ARC?
我在我的项目中成功地使用了ARC。然而,在一些文件(例如单元测试和模拟对象)中,ARC的规则现在有点更加脆弱。我记得听说有一种方法可以按文件禁用ARC,但是我一直无法找到这个选项。
这个可能吗?我如何按文件禁用ARC?
可以通过为这些文件添加-fno-objc-arc
编译器标志来禁用ARC。
您可以在"Targets->Build Phases->Compile Sources"中添加编译器标志。您需要双击"Compiler Flags"下面的行的右列。您还可以通过按住cmd键选择文件,然后按enter键打开标志编辑框将其添加到多个文件中。(请注意,编辑多个文件将覆盖它可能已经具有的任何标志。)
我创建了一个示例项目,其中包含一个示例:https://github.com/jaminguy/NoArc
有关更多信息,请参见此答案: 禁用某些文件的自动引用计数
-fno-objc-arc
,它将添加到所有选定的文件中。编辑刚刚看到这个答案下面的回复:( - Philipp Kyeck禁用 ARC(自动引用计数)在多个文件中:
;)
非ARC文件转换为ARC项目标志:-fno-objc-arc
ARC文件转换为非ARC项目标志:-fobjc-arc
使单个文件成为非ARC文件的方法非常简单:
请按照以下步骤操作:
在Xcode的目标/构建阶段/编译源代码中选择所需文件
选择需要转换为非ARC文件的.m文件
按ENTER键,然后输入-fno-objc-arc
注意:请保留原有的HTML标签。
-fno-objc-arc
-fno-objc-arc
标志。在 Xcode 中,可以针对特定文件禁用 ARC(自动引用计数)。
选择目标 -> 构建阶段 -> 编译源代码 -> 选择文件(双击)-> 将 "-fno-objc-arc" 添加到弹出窗口。
我在使用 "Reachibility" 文件时遇到了这种情况。
如下图所示:
在这个视频中讲解了四个强制步骤。
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
在构建阶段的每个文件中使用-fno-objc-arc