我在我的项目中成功使用 ARC。但是,我遇到了一些文件(例如,在单元测试和模拟对象中),其中 ARC 的规则现在更加脆弱。我记得听说有一种方法可以在每个文件的基础上禁用 ARC,但我无法找到这个选项。
这可能吗?如何基于每个文件禁用 ARC?
通过为这些文件添加-fno-objc-arc
编译器标志,可以为单个文件禁用 ARC。
您可以在 Targets - > Build Phases - > Compile Sources 中添加编译器标志。您必须双击Compiler Flags下行的右列。您还可以通过按住 cmd 按钮选择文件然后按 Enter 键以显示标志编辑框,将其添加到多个文件中。 (请注意,编辑多个文件将覆盖它可能已有的任何标志。)
我创建了一个示例项目,其中包含一个示例: https : //github.com/jaminguy/NoArc
有关详细信息,请参阅此答案: 禁用某些文件的自动引用计数
在MULTIPLE 文件上禁用 ARC :
;)
对于 Xcode 4.3,更简单的方法可能是:编辑 / 重构 / 转换为 objective-C ARC,然后检查您不想转换的文件。我发现这种方式与使用上面的编译器标志相同。