2012-02-29 91 views
6

在关于禁用特定类的ARC编译器机制的stackoverflow主题之后,我在Compile Sources部分的Compiler Flags列中添加了参数-fno-objc-arc(TARGETS中的Buil Phases选项卡项目)。即使设置已被验证,我也无法构建我的应用程序,因为编译器说retain, release, etc.无法在ARC下使用。ARC:将编译器标志设置为-fno-objc-arc并生成错误

我该如何解决上述问题?先谢谢你。

回答

7

您是否使用迁移工具执行迁移?您是否已将编译器标志添加到全部有释放/保留的文件?

我写了约ARC migration on my blog这里。

+1

很棒的博客文章! – zaph 2012-02-29 12:59:49

+0

@MugunthKumar对于第一个问题没有。是的,为第二个。 +1为您的指南。谢谢。 – 2012-02-29 13:34:20

+0

虽然这可能会在技术上回答这个问题,但[这将是更可取的](http://meta.stackexchange.com/q/8259),您可以在此处总结链接的材料。否则,由于链接腐败,答案有可能失去其用处。 – 2013-02-17 19:41:45

2

是如果您使用ARC for iphone应用程序,则这是真的。 您不能手动使用retain, release, etc.这些由编译器自动放置的消息。 你应该正确地检查你的代码,哪些类会出错。 我这么认为,你仍然在使用retain, release, etc.支持ARC的类。 所以首先检查你的课程,发现错误。

+3

ARC可以通过'fno-objc-arc'标志以文件为单位禁用。 – zaph 2012-02-29 12:21:52

+0

@Zaph你是对的,我的意思是一样的。 – Kamarshad 2012-02-29 12:56:24

+1

哎国旗其实是-fno-objc-arc – nickthedude 2013-09-12 22:37:03