OGeek|极客世界-中国程序员成长平台

标题: ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:43
标题: ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息

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

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

在这一行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

对于模拟器,它仍然编译得非常好;我也尝试了这些修复:

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

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

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



Best Answer-推荐答案


好的,我在费了很多力气之后才解决了这个问题。有问题的应用程序是一个 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4