Xcode - OSX错误:使用旧运行时的平台不支持-fobjc-arc

时间:2013-12-20 16:31:44

标签: objective-c xcode macos

我正在使用XCode 4.6.1和OSX 10.8.5。我试图编译一个项目,但得到了这个错误

error: -fobjc-arc is not supported on platforms using the legacy runtime    
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

我尝试将它的OSX部署目标从10.9解决为10.8但是没有用,然后尝试了这个 Clang Error in XCode

但没有工作。请任何想法或帮助表示赞赏。

3 个答案:

答案 0 :(得分:3)

ARC仅适用于OS X上的现代RTE 64位。

答案 1 :(得分:2)

我想建立的时候,如果你的项目是由Xcode的5修改,你回去的Xcode 4.6,并试图建立,因为Xcode的5可以删除一些东西,这将造成的Xcode 4.6意想不到的效果,你可以得到这样的错误。但听起来这主要适用于OS X项目而不是iOS项目,所以我很困惑为什么这会发生在iOS上。我建议尝试用Xcode 5构建你的项目,看看是否能解决问题。

如果你看一下this,你会看到一个很长的解释,说明发生这种情况的原因。但基本上Xcode 5有一个不同的"默认"对于某些编译器设置而不是Xcode 4.6,Xcode 5建议删除某些设置,因为这会使Xcode 4.6的行为不同。

有一个很好的解决方案,因为它听起来象是有可能得到搞砸了你的项目(因为它' S为OS X的显示选项,一个所谓的iOS项目),是创建一个新的项目,在移动文件。如果您的项目受源代码管理,并且您不想废弃当前的存储库和修订历史记录,则可以始终创建一个新项目并比较项目文件,以查看它与干净的Xcode 4.6项目之间的区别。 / p>

答案 2 :(得分:0)

我解决了这个问题如下:

  1. 关闭项目并退出XCode
  2. 制作项目的备份副本
  3. ctrl +点击你的项目图标,然后选择"显示包内容"菜单项
  4. 将打开一个目录,其中包含文件project.pbxproj。通过文本编辑器
  5. 打开文件project.pbxproj
  6. 查找所有行
  7. CLANG_ENABLE_OBJC_ARC = YES;

    并将其替换为

    CLANG_ENABLE_OBJC_ARC =否;

    1. 保存project.pbxproj
    2. (使用Xcode v 6.1.1)