如何禁用项目中单个文件的ARC?

我在我的项目中成功使用了ARC。 但是,我遇到了一些文件(比如unit testing和模拟对象),现在ARC的规则稍微脆弱一些。 我记得听说有一种方法可以在每个文件的基础上禁用ARC,尽pipe我一直无法find这个选项。

这可能吗? 如何在每个文件基础上禁用ARC?

可以通过为这些文件添加-fno-objc-arc编译器标志来禁用单个文件的ARC。

在“目标” – >“构build阶段” – >“编译源”中添加编译器标志。 您必须双击Compiler Flags下的右列。 您也可以通过按住cmd键select文件,然后按回车键来调出标志编辑框,将其添加到多个文件中。 (请注意,编辑多个文件将覆盖它可能已经有的任何标志。)

我创build了一个示例项目,其示例如下: https : //github.com/jaminguy/NoArc

Xcode中

有关详细信息,请参阅此答案: 禁用某些文件的自动引用计数

多个文件禁用ARC

  1. 在Xcode中的Target / Build Phases / Compile Sources中select所需的文件
  2. 按回车
  3. 键入-fno-objc-arc
  4. input完成

;)

在这里输入图像描述

对于Xcode 4.3,更简单的方法可能是:编辑/重构/转换为Objective-C ARC,然后检查不想转换的文件。 我发现这种方式与使用上面的编译器标志相同。

注意:如果你想为许多文件禁用ARC ,你必须:

  1. 打开“Build阶段” – >“编译源码”
  2. select“left_mouse”+“cmd” (分隔文件)或+“shift” (分组文件 – select第一个和最后一个)
  3. 按“进入”
  4. 粘贴-fno-objc-arc
  5. 再次按“进入”
  6. 利润!

制作单个文件非弧是非常简单的方法。

按以下步骤操作:

在单个文件上禁用ARC:

  1. 在Xcode中的Target / Build Phases / Compile Sources中select所需的文件

  2. select你想要的.m文件非圆弧按压input-fno-objc-arc

非ARC文件到ARC项目标志: -fno-objc-arc

ARC文件到非ARC项目标志: -fobjc-arc

只需在Build Phases > Compile Sources使用-fno-objc-arc标志即可

  1. selectXcode项目
  2. 去目标
  3. select“构build阶段”部分
  4. 在构build阶段部分中select编译源。
  5. select你不想禁用ARC的文件并添加-fno-objc-arc

禁用特定文件的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(自动引用计数):

  1. 在Xcode中的Target / Build Phases / Compile Sources中select所需的文件
  2. 按回车
  3. 键入-fobjc-arc
  4. 按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

Interesting Posts