【发布时间】: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