我已将iPad Air更新为7.1,将Xcode更新为5.1.Xcode想要将我的项目更新为推荐的设置,我同意了.
之后,当我从父节点删除节点时,我的游戏开始在几个地方崩溃.
这对我来说是一个惊喜 - 在更新之前没有过境点.我恢复了我的项目并找出了Xcode对它做了什么 - 只更改架构字符串:
之前:更新前的 架构http://i57.tinypic.com/68v4nr.png
之后:更新后的 架构http://i61.tinypic.com/vpeo2a.png
在旧版本中没有崩溃.如果我在新版本中删除arm64支持,则不会崩溃.在模拟器中,新旧版本都没有崩溃.
我的代码应该在哪里注意?
代码堆栈:
SpriteKit`SKCSprite::removeSubsprite(SKCSprite*):
0x1859442cc: stp fp, lr, [sp, #-16]!
0x1859442d0: add fp, sp, 0
0x1859442d4: stp x20, x19, [sp, #-16]!
0x1859442d8: sub sp, sp, #16
0x1859442dc: mov x19, x0
0x1859442e0: str x1, [sp, #8]
0x1859442e4: add x20, sp, 8
0x1859442e8: add x0, x19, 544
0x1859442ec: mov x1, x20
0x1859442f0: bl 0x18594872c ; unsigned long std::__1::__tree<SKCSprite*, std::__1::less<SKCSprite*>, std::__1::allocator<SKCSprite*> >::__erase_unique<SKCSprite*>(SKCSprite* const&)
0x1859442f4: add x0, x19, …Run Code Online (Sandbox Code Playgroud)