内容:
我在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编译器设置。
有谁知道如何解决这个问题?任何帮助表示赞赏!
答案 0 :(得分:2)
我有类似的问题,我通过删除DerivedData文件夹中的文件夹,特别是“ModuleCache”文件夹来修复此问题。