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




objective-c xcode (12)

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

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


  1. 选择Xcode项目
  2. 去目标
  3. 选择构建阶段部分
  4. 在构建阶段部分中选择编译源。
  5. 选择您不想禁用ARC的文件并添加-fno-objc-arc


只需在“构建阶段”>“编译源文件”的infront中使用-fno-objc-arc标志,就可以向其申请ARC。


可以禁用Xcode中特定文件的ARC(自动引用计数)。

选择目标 - >构建阶段 - >编译源 - >选择文件(双击) - >将“-fno-objc-arc”添加到弹出窗口。

我在使用“可访问性”文件时遇到过这种情况。

如下图所示:


多个文件禁用ARC

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

;)


如果您使用的是Unity,则无需在Xcode中更改此设置,您可以在Unity的特定文件的元数据中应用编译标志。 只需在“项目”面板中选择它们,然后从“检查器”面板应用即可。 如果您计划使用Cloud Build,这一点很重要。


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


按照步骤启用禁用ARC

选择Xcode项目转到目标选择构建阶段部分在构建阶段部分中选择编译源。 选择您不想禁用ARC的文件并添加-fno-objc-arc


video解释的四个强制步骤

    //1. Select desired files
    //2. Target/Build Phases/Compile Sources
    //3. Type -fno-objc-arc
    //4. Done

添加标志“-fno-objc-arc”。

简单的步骤如下:App> Targets> Build Phases> Compile Sources> class after class“-fno-objc-arc”


要禁用单个文件的ARC,请在项目设置下构建阶段,然后单击编译源。

选择要禁用ARC的类的.m文件,并将编译器标志设置为-fno-objc-arc

来源: 禁用个别类ARC


转到应用程序 - >然后目标 - >构建阶段 - >编译源

现在,选择您想要禁用ARC的文件

粘贴这段代码“-fno-objc-arc”粘贴完成后按ENTER键

在您要禁用ARC的每个文件中。


这是非常简单的方法来使单个文件无弧。

遵循以下步骤:

在单个文件上禁用ARC:

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

  2. 选择你想要的.m文件非圆弧按下 ENTER键入-fno-objc-arc

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

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





manual-retain-release