编译时出现ARC错误

我试图编译使用LLVM GCC 4.0编译器,并在我的.m文件的多个我得到这个错误:ARC禁止'发布'的显式消息发送我已经尝试使用-fno-objc-arc作为编译器标志但是会返回错误:无法识别的命令行选项“-fno-objc-arc”。

我该如何解决这个问题?

只需删除所有的电话到-release 。 您不能在ARC下调用-release ,因为编译器会为您插入所有必要的retain / release调用。 在这里阅读更多关于ARC。

另一种方式是使用转换工具,Xcode可以将您的项目转换为ARC(包括除去这些调用):

要完全禁用ARC,请更改您的构build设置:

不过,我build议你开始使用ARC,它会使事情变得更容易,实际上也更快。

如果您碰巧使用ASI( http://allseeing-i.com/ASIHTTPRequest/How-to-use )api,请参考此答案,因为它需要使用特定类的-fno-obj-arc标志来构build… 文件不支持ARCfunction,如何处理并参考标题为“禁用该类的ARC”的答案