Xcode 6在设备上编译错误

时间:2014-10-02 05:49:28

标签: objective-c iphone compiler-errors xcode6 device

内容:

  • 我在设备上遇到编译错误,但没有模拟器
  • 错误描述肯定不是问题的根本原因
  • 我认为它与SDK类的标准导入有关
  • 可能与在应用中使用iOS8扩展程序有关
  • stackoverflow上有类似的问题描述,但是 解决方案对我不起作用

我在Xcode 6中遇到了一个奇怪的问题。该项目在Simulator上编译得很好,但每当我尝试为设备编译时,我都会遇到编译错误。

该项目是从tabbar模板创建的(注意:Xcode 6项目模板默认不再有前缀文件),包含iOS应用程序和iOS8中引入的新扩展增强功能。 app和扩展都应该使用一些基类,即使用AFNetworking从网络中获取数据的类。

如AFNetworking文档中所述,我声明AF_APP_EXTENSION能够编译扩展。 我不确定这是否与这个问题有关,只是试图抛出一些事实并希望某些东西能为某人敲响钟声。

无论如何,它在AFNetworking中我得到了构建错误: "没有可见的@interface用于' UIDevice'声明选择器' systemVersion'"在AFURLRequestSerialization。

在玩导入时,例如在某些随机点导入UIKit.h进行尝试时,我有时会(!)得到不同的错误:

"没有可见的@interface用于' UIImage'声明选择器' initWithData:'"在AFURLResponseSerialization。

毋庸置疑,这些方法都是从iOS 2.0开始声明的。我认为它与导入基类的新方法和缺少前缀文件有关。

Here是一个如此帖子描述,我认为,完全相同的问题,但解决方案,将启用模块设置为NO,对我来说根本不起作用,然后我得到关于缺少类的50多个编译错误作为AppDelegate中的UIResponder和东西。 我想这是因为启用模块设置是前缀导入的替代?但我真的在这里游泳。

我尝试清理,清理构建文件夹,重新启动Xcode,重启Mac,在此处添加导入,在构建设置中读取LLVM编译器设置。

有谁知道如何解决这个问题?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

我有类似的问题,我通过删除DerivedData文件夹中的文件夹,特别是“ModuleCache”文件夹来修复此问题。