iOS 5.1在使用“集合”视图时崩溃

iOS 5.1在使用“集合”视图时崩溃,ios,ipad,ios5,ios6,Ios,Ipad,Ios5,Ios6,我正在尝试使用集合视图,我希望支持5.1。我没有使用故事板。我已将collectionview添加到我的视图控制器。我正在识别版本并打开集合视图(如果是6.0或更高版本),否则将打开另一个视图控制器。当我在5.1中运行我的应用程序时,它立即崩溃并出现错误: 未找到符号:\u UICollectionElementKindSectionHeader 我看到了下面的链接,它只描述了使用故事板时的情况。 任何帮助都将不胜感激 谢谢,iOS5不支持UICollectionView。您只能在iOS6应用

我正在尝试使用集合视图,我希望支持5.1。我没有使用故事板。我已将collectionview添加到我的视图控制器。我正在识别版本并打开集合视图(如果是6.0或更高版本),否则将打开另一个视图控制器。当我在5.1中运行我的应用程序时,它立即崩溃并出现错误:

未找到符号:\u UICollectionElementKindSectionHeader

我看到了下面的链接,它只描述了使用故事板时的情况。

任何帮助都将不胜感激


谢谢,iOS5不支持UICollectionView。您只能在iOS6应用程序中使用它。对不起,你运气不好

是一个开源项目,它应该可以帮助您解决问题,正如它所定义的:

开源、100%API兼容的UICollectionView替换 第4.3条+


您确定已在项目的应用程序目标中将部署目标设置为iOS 5.1吗

这将导致以下情况:

“…早期版本中不可用的框架API将弱链接…”

(来自
IPHONEOS\u部署\u目标的快速帮助

如果它在发射后立即崩溃,听起来好像它没有弱链接

如果确定已将部署目标设置为iOS 5.1,则可以尝试强制整个UIKit.framework弱链接以解决问题。为此,您可以在“链接框架和库”部分中将其标记为可选,而不是必需的:

FWIW,我已经成功地完成了您在Mac OS X应用程序中描述的工作:我有一个基于最新SDK构建的应用程序,在运行时,检查OS X的版本并加载不同的NIB。在用于更高版本OS X的nib中,我可以使用早期版本OS X中不存在的UI元素。如果您的应用程序基于nib,我不明白您为什么不能在iOS中执行同样的操作。(请注意,如果您使用的是故事板,则情况就不同了)

下面是一个如何设置的示例项目:


他或她已经表示,他们知道,
UICollectionView
仅在iOS 6.0及更高版本中可用:“我正在确定版本并打开集合视图,如果其6.0或更高版本打开另一个视图控制器。”如果项目设置正确,且部署目标为5.1,应该不会立即崩溃:
UICollectionView
可以在6.0和更高版本中使用,并且可以在更早的版本中使用其他东西…@nsgood我从来没有说过不能在6.0和5.1中使用CollectionView和其他东西。我甚至提供了一个链接,指向他们可以用于6.0之前版本的内容。如果您已经在使用
PSTCollectionView
并看到此错误,那么您可能无意中使用了字符串
UICollectionElementKindSectionHeader
。相反,您应该使用
PSTCollectionElementKindSectionHeader
。我的部署目标实际上是5.0。我在上面的链接中看到了示例,我的代码与示例非常相似,只是我使用了header view extra。我使用if([[[UIDevice currentDevice]systemVersion]floatValue]<6.0)来确定iOS版本。即使在应用程序崩溃之前,appdelegate中的didFinishLaunchingWithOptions也不会被触发。知道为什么吗?当我删除集合视图中的标题时,它工作得非常完美,知道吗?