Xcode 6 GM不会编译iOS设备,但在模拟器中很好 – 奇怪的错误信息

我有一个在XCode 6testing版中编译得很好的项目,但是现在,在GM中,它不会编译为iOS设备,并提供错误信息:

myController.m:393:9: No visible @interface for 'UIDevice' declares the selector 'initialize:' 

在这一行:

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 

它仍然编译绝对好的模拟器; 我也尝试了这些修复:

  • 清理整个项目并重新构build。
  • 从〜/ Library / Developer / XCode中删除了所有派生数据
  • 重新安装XCode
  • 检查了XCode首选项,并将指定的命令行工具位置指向XCode 6(XCode 5仍安装在机器上,并指向此处)

…但没有运气。 编译时出现同样的错误。

帮帮我! 我们正处于紧张的时期,iOS8正在逼近,这真是令人头疼。

PS:我们也在工作区使用Cocoapods,这是值得的。

好的,我解决了这个问题。 有问题的应用程序是一个iOS 8应用程序,具有embedded式的今日扩展。

事实certificate,当添加Today Extension时,XCode添加了一个构build设置:

'启用模块(C和Objective-C':是的

我的项目和包含的应用程序目标都没有使用这个构build设置,但是将其设置为YES导致了与尝试自动链接框架(以及失败)以及最终与头文件相关的各种相关的奇怪错误消息的问题。

问题进一步复杂化,因为源文件既是包含应用程序的目标,也是今天扩展的目标的成员。

希望这个信息可以帮助别人。

在这里输入图像说明

卡尔