使用UICollectionview在iOS8中崩溃,与UIApplicationAccessibility相关

时间:2014-09-22 09:53:40

标签: uicollectionview ios8

我有一个在页面上显示UICollectionView的应用程序,这在iOS7中运行良好,但在iOS8中使用指向UICollectionViewAccessibility和UIApplicationAccessibility的tracelog崩溃,即使我没有触及Accessibility的代码。

我设法隔离了这个问题并建立了一个小应用程序,可以在这里重现崩溃。

http://github.com/beno/ios8bug

我发现很难理解带有这种明显错误的代码会发布,但看起来确实如此。我已经向Apple提交了一个错误,但到目前为止还没有回复。任何有关更多信息或解决方法的帮助将不胜感激。

示例跟踪:

Thread 1Queue : com.apple.main-thread (serial)
#0  0x0343d385 in CFHash ()
#1  0x0109c264 in NSKeyValueAccessorHash ()
#2  0x03436373 in CFBasicHashFindBucket ()
#3  0x0346294b in CFSetGetValue ()
#4  0x0109f316 in -[NSObject(NSKeyValueCoding) valueForKey:] ()
#5  0x10ba246e in -[NSObject(UIAccessibilitySafeCategory) safeValueForKey:] ()
#6  0x10d1f359 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#7  0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#8  0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#9  0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#10 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#11 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#12 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#13 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#14 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#15 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
#16 0x10d1f376 in -[UICollectionViewAccessibility _accessibilityDescendantElementAtIndexPathIsValid:] ()
....

1 个答案:

答案 0 :(得分:1)

对于任何发现这一点的人来说,错误是Accessibility中的一个回归缺陷,当视图是它自己的委托时(就像我配置它一样),它会以这种方式起作用。所以使用不同的代表就是答案。