-fno-objc弧无法正常工作时禁用ARC(-fno-objc-arc not working t

2019-07-29 16:07发布

我曾尝试在这篇文章中找到了解决办法在AFNetworking文件禁用ARC,但无济于事:

任何想法,我很失败? 显然,答案简单越好。 我也看过,创建静态库可能会有帮助,但是这看起来很复杂。

EDITS

我曾尝试删除数据导出清理并生成重新启动的Xcode。 没有交易:(。

另外,还有一些在我的工作区没有其他项目。

Answer 1:

奇怪的事情。 我尝试添加了-fno-objc-arc标志Facebook的一些文件,终于建成了该项目。 我想,这里的教训是,当Xcode中生成这些类型的错误,问题的根源可能在另一个文件中。 如果Xcode是抱怨,你已标记文件,这可能尤其是真的!

希望这会有所帮助给别人:)。



Answer 2:

只要一点点额外的提示:

如果你在你的项目检查有多个目标,如果你添加的编译器标志-fno-objc-arc到所有的人。



Answer 3:

“转换为目标C ARC”是代码重写工具,在另一方面-fno-objc弧是一个编译时间标志。 这对重构的目的根本不相干。

点击之前“检查”,花费了目标,然后取消选择您想要保留ARC-免费的文件。



Answer 4:

其实这个问题很简单。 确保有后没有回车-fno-objc-arc你在编译器选项对话框中输入标志。



Answer 5:

我设法将进入这个状态.m该文件#imported一个.m ,这不是ARC兼容的文件。 编译器抱怨所包含的文件,该文件可能被标记-fno-objc-arc 。 我不得不标志.m这是做包括。

我通过扩大对失败的构建输出来看,在原始日志这表明是失败编译(从一个在警告不同)的文件发现这一点。

我还需要删除导出的数据文件。



Answer 6:

有同样的问题,但无法找到有问题的文件(如Brotto的解决方案)。 所以,简单地包裹在下面的#if语句块非弧投诉代码片段:

#if !(__has_feature(objc_arc))

//...non-arc code

#endif


Answer 7:

我能够在重构取消选中非ARC文件来解决我的问题 - >转换成Objective-C的ARC模式。 即使这些文件已经被因disincluded到“FNO-objc弧”标志。 一旦我未选中的文件时,Xcode开始吐出更好的错误,让我发现,需要一些固定的文件。 进行这些更改后,我好去。



文章来源: -fno-objc-arc not working to disable ARC