我在我的项目中成功地使用了ARC。然而,我遇到过一些文件(例如,在单元测试和模拟对象中),其中ARC的规则现在有点脆弱。我记得听说过有一种方法可以在每个文件的基础上禁用ARC,尽管我一直没有找到这个选项。
这可能吗?如何在每个文件的基础上禁用ARC ?
我在我的项目中成功地使用了ARC。然而,我遇到过一些文件(例如,在单元测试和模拟对象中),其中ARC的规则现在有点脆弱。我记得听说过有一种方法可以在每个文件的基础上禁用ARC,尽管我一直没有找到这个选项。
这可能吗?如何在每个文件的基础上禁用ARC ?
当前回答
本视频中解释的四个必修步骤
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
其他回答
对于Xcode中的特定文件,可以禁用ARC(自动引用计数)。
选择目标->构建阶段->编译源->选择文件(双击)->在弹出窗口中添加"-fno-objc-arc"
我在使用“Reachibility”文件时遇到过这种情况。
如下图:
我认为所有其他的答案都在解释如何禁用MRC(手动引用计数)和启用ARC(自动引用计数)。 对多个文件使用MRC(手动引用计数),即禁用ARC(自动引用计数):
在Xcode中的目标/构建阶段/编译源中选择所需的文件 按回车键 类型-fobjc-arc 按Enter或Done
如果你使用Unity,你不需要在Xcode中改变这个,你可以在Unity内部的特定文件的元数据中应用一个compile标志。只需在Project面板中选择它们,并从Inspector面板中应用。如果您计划使用Cloud Build,这是必不可少的。
只要在Build Phases>Compile Sources中使用-fno-objc-arc标志,在你不想使用ARC的文件前面。
注意:如果你想对很多文件禁用ARC,你必须:
打开“构建阶段”->“编译源代码” 选择文件与"left_mouse" + "cmd"(分开的文件)或+ "shift" (对于分组文件-选择第一个和最后一个) 按“输入” 粘贴-fno-objc-arc 再次按“enter” 利润!