我在项目中成功使用了ARC。 但是,我遇到了一些文件(例如,在单元测试和模拟对象中),其中ARC规则现在更加脆弱。 我记得曾经听说有一种方法可以按文件禁用ARC,尽管我一直找不到该选项。
这可能吗? 如何按文件禁用ARC?
#1楼
对于Xcode 4.3,更简单的方法可能是:编辑/重构/转换为Objective-C ARC,然后检查您不想转换的文件。 我发现这种方式与使用上面的编译器标记相同。
#2楼
只需在“ Build Phases
>“ Compile Sources
使用-fno-objc-arc
标志
#3楼
注意:如果要禁用许多文件的ARC ,则必须:
- 打开“构建阶段”->“编译源代码”
- 选择带有“ left_mouse” +“ cmd” (用于分离的文件)或+“ shift” (用于分组的文件-选择第一个和最后一个)的文件
- 按“输入”
- 粘贴
-fno-objc-arc
- 再次按“输入”
- 利润!
#4楼
这是使单个文件变为非弧形的非常简单的方法。
请按照以下步骤操作:
在单个文件上禁用ARC:
在Xcode的目标/构建阶段/编译源中选择所需的文件
选择您要使其成为.m文件的非弧压输入类型-fno-objc-arc
非ARC文件到ARC项目的标志: -fno-objc-arc
ARC文件到非ARC项目标志: -fobjc-arc
#5楼
在构建阶段为每个文件使用-fno-objc-arc
#6楼
添加标志“ -fno-objc-arc”。
简单的遵循步骤:App> Targets>构建阶段> Compile Sources>在类“ -fno-objc-arc”之后添加标志
#7楼
如视频中所述的四个强制步骤
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
#8楼
- 选择Xcode项目
- 前往目标
- 选择构建阶段部分
- 在构建阶段部分中,选择编译源。
- 选择您不想禁用ARC的文件,然后添加-fno-objc-arc
#9楼
可以为Xcode中的特定文件禁用ARC(自动引用计数)。
选择目标->构建阶段->编译源->选择文件(双击)->在弹出窗口中添加“ -fno-objc-arc”。
我在使用“可达性”文件时遇到了这种情况。
如下图所示:
#10楼
只需在不希望对其应用ARC的文件前面的“构建阶段”>“编译源”中使用-fno-objc-arc标志。
#11楼
转到应用->然后是目标->构建阶段->编译源
现在,选择要在其中禁用ARC的文件
在粘贴后粘贴此代码段“ -fno-objc-arc”
在每个要禁用ARC的文件中。
#12楼
按照以下步骤启用禁用ARC
选择Xcode项目转到目标选择“构建阶段”部分在“构建阶段”部分中,选择编译源。 选择您不想禁用ARC的文件,然后添加-fno-objc-arc
#13楼
如果您使用的是Unity,则无需在Xcode中进行更改,您可以在Unity内部的特定文件的元数据中应用编译标志。 只需在“项目”面板中选择它们,然后从“检查器”面板中应用即可。 如果您计划使用Cloud Build,这是必不可少的。
#14楼
我认为所有其他答案都在说明如何禁用MRC(手动参考计数)和启用ARC(自动参考计数)。 要使用MRC(手动参考计数),即在多个文件上禁用ARC(自动参考计数):
- 在Xcode的目标/构建阶段/编译源中选择所需的文件
- 按ENTER
- 类型-fobjc-arc
- 按Enter或完成
#15楼
请按照屏幕截图输入-fno-objc-arc 。
#16楼
- 选择项目->目标->构建阶段->编译器源
- 选择文件->编译器标志
- 添加-fno-objc-arc
#17楼
通过为这些文件添加-fno-objc-arc
编译器标志,可以禁用单个文件的ARC。
您可以在目标->构建阶段->编译源中添加编译器标志。 您必须双击“ 编译器标志”下该行的右列。 您还可以通过以下方式将其添加到多个文件中:按住cmd按钮选择文件,然后按Enter弹出标记编辑框。 (请注意,编辑多个文件将覆盖它可能已经拥有的所有标志。)
我创建了一个带有示例的示例项目: https : //github.com/jaminguy/NoArc
有关更多信息,请参见此答案: 禁用某些文件的自动引用计数
#18楼
在多个文件上禁用ARC :
- 在Xcode的目标/构建阶段/编译源中选择所需的文件
- 按ENTER
- 输入-fno-objc-arc
- 按Enter或完成
;)