【问题标题】:Xcode 5 iOS 5 - support neither for device nor for simulator?Xcode 5 iOS 5 - 既不支持设备也不支持模拟器?
【发布时间】:2014-01-09 06:24:33
【问题描述】:

我有几个在 iOS 5 到 7 上运行的应用程序。维护不同的 API 集已经很痛苦了。

在我的带有 Xcode 5 的新 OS X Mavericks 机器上,它只是拒绝显示 iOS 5 模拟器。

为了增加这种痛苦,当我连接我的 iOS 5 设备时,我的应用程序只是崩溃并抱怨 iOS 6 功能(iOS 5 中不存在 - 例如 UICollectionView)。

这是我的 iOS 5 设备上的崩溃日志:

Symbol not found: _UICollectionElementKindSectionHeader

请注意,对于最后一个问题 - 我的代码中有所有条件编译 MACROS。例如,我将我的 UICollectionView 代码包装在:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
#endif

我还做运行时检查以查看该类是否存在:

if (NSClassFromString(@"UICollectionView"))

我确信在我使用 Xcode 5 和 4.6 (OS X Lion) 的旧机器上不存在这个问题。但我现在根本无法获得它,这个问题让我发疯,因为它让我没有 iOS 5 支持。

怎么办?

【问题讨论】:

  • 转到首选项>下载并安装模拟器。
  • 它只显示模拟器 >6.0。我什至从某个来源获得了 iOS 5 SDK,并且可以在 Schemes 中将其视为一个选择,但是当我启动该应用程序时,它只是 6.0。
  • 如果它在运行时崩溃,您的运行时检查显然没有工作或完成。
  • @Kevin,我用崩溃日志更新了我的问题。我确信每次对我的集合视图属性变量做某事时,我都会包括提到的运行时检查。会不会有什么隐藏的地方被遗漏了?

标签: ios ios5 ios-simulator xcode5 osx-mavericks


【解决方案1】:

您可以从 developer.apple.com 下载 XCode 4.6.3

【讨论】:

  • 当然,使用 XCode 4 文件格式(项目、nib...)很痛苦。
  • Apple App Store requires 自 2014 年 2 月 1 日起使用 Xcode 5 构建应用程序和更新。
【解决方案2】:

您是否尝试过检查是否可以调用该方法。我用这种东西:

if ([UICollectionView instancesRespondToSelector:@selector(UICollectionElementKindSectionHeader:)])

或者类似的?

【讨论】:

    【解决方案3】:

    我通过将 UIKit 链接为可选框架而不是必需框架解决了这个问题。

    奇怪,但真实。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 2020-07-12
      • 2018-12-15
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 2013-10-13
      相关资源
      最近更新 更多