iOS5 ARC:如何在编译时排除某个文件使用 ARC ?

55

有人能帮我回忆一下告诉XCode不要为某个文件使用ARC的标志是什么吗? 我在我的项目中有几个被标记为这样的文件...... 直到我添加了另一个文件并决定将其转换为ARC。 听起来很容易,对吧?我期望我只需检查一个想要的文件,然后让XCode完成其魔法。 很遗憾,事情并没有那么简单,在预检期间,它从所有文件中剥离了-Noarc标志,现在我需要手动重新应用该标志到几个文件中。

这个故事的寓意是:一旦您的项目处于ARC状态,并且您标记了一些不使用ARC的文件,请不要从重构> 转换为ARC工具重新运行转换。 即使预检失败,它也不会恢复您的设置。


1
@NJones:嗯,那就是在谷歌上搜索“排除文件 arc”关键词时弹出的那个。 - KPM
8
如果这个问题已经被问了“很多次”……如果你提供一个简单的链接到这个你所提到的信息宝库,那么你的帖子会落在更不激怒人的耳朵里……而不是花时间发表一些本质上是侮辱、甚至可以说是废话的东西。 - Alex Gray
2个回答

175

我找到了答案: 要将文件从ARC中排除,请在“构建阶段>编译源”中使用-fno-objc-arc标志。


42
嘿,我想补充一点,如果你想在Xcode中为多个文件添加编译器标志,可以按住shift键选择多个文件,然后按Enter键,然后粘贴并再次按Enter键。双击无法在多个文件上生效。 - Can
非常感谢 @Alex_Stone - Supertecnoboff

2
这个故事的寓意是:一旦您的项目在ARC中,有一些文件被标记为不使用ARC,请不要从“重构”>“转换为ARC”重新运行转换工具。即使预检失败,它也不会恢复您的设置。
您可以通过删除这些文件的引用,然后将其重新添加到项目中来恢复排除文件的设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接