将Xcode项目转换为ARC(自动引用计数)后,我需要为某些源文件(主要是第三方代码)禁用ARC。
我知道我需要为每个文件设置“-fno-objc-arc”标志,但是Xcode没有给我批量编辑的选项 - 我需要手动将这个标志添加到每个文件中,如果你需要为多个文件设置它,可能会很乏味。
有没有人对此采取明智的方法?
答案 0 :(得分:23)
选择要添加标记的那些(使用 Shift 和/或 Command )并按 Enter 以显示标记编辑器。按完成将输入的标志应用于所选文件。
<强>教程强>
我已经编写了blog post作为此过程的教程。
答案 1 :(得分:2)
到目前为止,最简单的选择就是使用Edit&gt;下的ARC转换工具。重构。
目前还不是很清楚,但基本上你只是检查你想要使用ARC的文件,并取消选中你不使用的文件。这将执行以下操作:
1)未选中的文件将应用-fno-objc-arc标志
2)检查的文件将转换为ARC
3)已经转换为ARC的已检查文件将不受影响
仔细阅读。有时会让人感到困惑的是,他们认为在再次运行工具时应该取消选中已转换的文件,但这会错误地将-fno-objc-arc应用于这些文件(导致泄漏)。
您应该将ARC转换工具视为“批量选择ARC兼容文件并转换不是ARC的文件”工具,而不是直接转换工具。
您可以根据需要多次运行转换工具 - 效果不是累积的(尽管将文件转换为ARC是不可逆的)。
答案 2 :(得分:1)
我需要设置不应支持ARC的文件(主要是第三方代码)。
除了管理标志之外,您只需为这些源创建一个静态库,然后链接。