ios - Xcode 6 GM 不会为 iOS 设备编译,但在模拟器中没问题 - 奇怪的错误消息

标签 ios objective-c xcode xcode6

我有一个项目在 XCode 6 beta 中编译得很好,但现在,在 GM 中,它不会为 iOS 设备编译,并给出错误:

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

在这一行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

对于模拟器来说,它仍然编译得很好;我还尝试了这些修复:

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

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

帮助!随着 iOS8 的临近,我们的时间紧迫,这确实令人头疼。

PS:我们还在工作区中使用 Cocoapods,这是物有所值的。

最佳答案

好吧,我费了好大劲才解决了这个问题。有问题的应用程序是一个 iOS 8 应用程序,带有嵌入式 Today Extension。

原来,在添加 Today Extension 时,XCode 添加了一个build设置:

'Enable Modules (C and Objective-C': YES

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

问题变得更加复杂,因为有些源文件既是包含应用程序目标的成员,也是 Today Extension 目标的成员。

希望此信息对其他人有所帮助。

enter image description here

卡尔

关于ios - Xcode 6 GM 不会为 iOS 设备编译,但在模拟器中没问题 - 奇怪的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25754324/

相关文章:

iphone - 如何在 UITableView 单元格文本中进行自动收缩而不隐藏详细信息标签?

ios - response.products计数始终返回0 Xcode 4 ios应用程序内购买

iphone - UIActivityIndi​​catorView 正确使用

objective-c - Cocoa:删除自定义 NSView 的一部分并显示下面的内容?

ios - XMPP 主机名问题

ios - 自动分页 PFQueryTableViewController

iphone - iOS 通知到达时推送特定 View

ios - 如何使 MKAnnotationView 触敏?

ios - 检查 firebase 持久数据

ios - 如何拖动图像