如何禁用项目中单个文件的ARC?
我在我的项目中成功使用了ARC。 但是,我遇到了一些文件(比如unit testing和模拟对象),现在ARC的规则稍微脆弱一些。 我记得听说有一种方法可以在每个文件的基础上禁用ARC,尽pipe我一直无法find这个选项。
这可能吗? 如何在每个文件基础上禁用ARC?
可以通过为这些文件添加-fno-objc-arc
编译器标志来禁用单个文件的ARC。
在“目标” – >“构build阶段” – >“编译源”中添加编译器标志。 您必须双击Compiler Flags下的右列。 您也可以通过按住cmd键select文件,然后按回车键来调出标志编辑框,将其添加到多个文件中。 (请注意,编辑多个文件将覆盖它可能已经有的任何标志。)
我创build了一个示例项目,其示例如下: https : //github.com/jaminguy/NoArc
有关详细信息,请参阅此答案: 禁用某些文件的自动引用计数
在多个文件上禁用ARC :
- 在Xcode中的Target / Build Phases / Compile Sources中select所需的文件
- 按回车
- 键入-fno-objc-arc
- 按input或完成
;)
对于Xcode 4.3,更简单的方法可能是:编辑/重构/转换为Objective-C ARC,然后检查不想转换的文件。 我发现这种方式与使用上面的编译器标志相同。
注意:如果你想为许多文件禁用ARC ,你必须:
- 打开“Build阶段” – >“编译源码”
- select“left_mouse”+“cmd” (分隔文件)或+“shift” (分组文件 – select第一个和最后一个)
- 按“进入”
- 粘贴
-fno-objc-arc
- 再次按“进入”
- 利润!
制作单个文件非弧是非常简单的方法。
按以下步骤操作:
在单个文件上禁用ARC:
-
在Xcode中的Target / Build Phases / Compile Sources中select所需的文件
-
select你想要的.m文件非圆弧按压input-fno-objc-arc
非ARC文件到ARC项目标志: -fno-objc-arc
ARC文件到非ARC项目标志: -fobjc-arc
只需在Build Phases
> Compile Sources
使用-fno-objc-arc
标志即可
- selectXcode项目
- 去目标
- select“构build阶段”部分
- 在构build阶段部分中select编译源。
- select你不想禁用ARC的文件并添加-fno-objc-arc
可以在Xcode中禁用特定文件的ARC(自动引用计数)。
select目标 – >构build阶段 – >编译源 – >select文件(双击) – >添加“-fno-objc-arc”popup窗口。
我在使用“可访问性”文件时遇到过这种情况。
如下图所示:
在构build阶段为每个文件使用-fno-objc-arc
本video中介绍的四个强制步骤
//1. Select desired files //2. Target/Build Phases/Compile Sources //3. Type -fno-objc-arc //4. Done
请按照截图并input-fno-objc-arc 。
如果你使用的是Unity,你不需要在Xcode中改变它,你可以在Unity的内部在特定文件的元数据中应用一个编译标志。 只需在“项目”面板中select它们,然后从“检查器”面板应用即可。 如果您计划使用Cloud Build,这一点非常重要。
添加标志“-fno-objc-arc”。
简单的步骤如下:App> Targets> Build Phases> Compile Sources> class after class“-fno-objc-arc”
我想所有其他答案都解释了如何禁用MRC(手动引用计数)和启用ARC(自动引用计数)。 要使用MRC(手动引用计数),即在多个文件上禁用ARC(自动引用计数):
- 在Xcode中的Target / Build Phases / Compile Sources中select所需的文件
- 按回车
- 键入-fobjc-arc
- 按input或完成
要为个别文件禁用ARC,请在项目设置下构build阶段,然后单击编译源。
select要禁用ARC的类的.m文件,并将编译器标志设置为-fno-objc-arc
来源: 禁用单个类的ARC
只需在“生成阶段”>“编译源文件”的infront中使用-fno-objc-arc标志,即可将其应用于不想要的ARC文件。
转到应用程序 – >然后目标 – >构build阶段 – >编译源
现在,select您要禁用ARC的文件
粘贴这个片段“-fno-objc-arc”粘贴后按ENTER键
在每个你想禁用ARC的文件中。
按照步骤启用禁用ARC
selectXcode项目转到目标select“构build阶段”部分“构build阶段”部分select编译源。 select你不想禁用ARC的文件并添加-fno-objc-arc