2015-07-13 55 views
1

刚搬进开放的iOS 9测试版(第3版)和我的应用程序正在崩溃在这条线:SpriteKit崩溃[self removeAllActions];

[self removeAllActions]; // where "self" is an SKNode 

编辑:挖远一点后,我发现当removeAllActions是完成处理程序中出现问题:

[self runAction: someSKAction completion:^{ 
    [self removeAllActions]; // this will cause the crash 
}]; 

在控制台中发生的错误:

libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: vector 

是其他任何人有这个问题呢?

编辑:我没有任何版本的iOS7或iOS8的这个问题。我向苹果提交了一个错误报告,报告#21788047

+0

http://stackoverflow.com/questions/21208079/spritekit-crashing-with-stdout-of-range-vector-issue – sangony

+0

@sangony感谢您的链接;我会研究一下。我的行为与加载我的纹理或任何形式的+(SKAction *)animateWithTextures:(NSArray *)纹理无关。就像在其他线程中建议的那样,我会在我的数组周围设置日志并查找无对象 – user2821647

回答

0

此问题已在iOS 9 Beta 4中得到解决。更新后,我运行了一些测试,一切似乎都顺利进行。

1

我有这个问题,它发生的原因是actionsSKNode阵列的并发访问。

我摆脱了它通过使用semaphore。这不是理想的解决方案,但至少它会停止崩溃。