• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息

[复制链接]
菜鸟教程小白 发表于 2022-12-13 01:43:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个项目在 XCode 6 测试版中编译得很好,但现在,在 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,这是物有所值的。



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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap