我有一个Sprite Kit应用程序,我已经在我的32位设备上进行了全面测试。我最近发现我的应用程序在64位设备上运行时崩溃。Sprite Kit Sprite创建不适用于64位模拟器
此代码位于我的init
方法中,该方法继承自SKNode
。
self.sprite = [SKSpriteNode spriteNodeWithImageNamed:[_properties objectForKey:@"Sprite"]];
[self.sprite setScale:BUILDING_SCALE];
[self addChild:_sprite];
该应用程序仅在64位模拟器上的addChild
行崩溃。
我试图在32位模拟器打印出的self.sprite
的描述:
<SKSpriteNode> name:'(null)' texture:[<SKTexture> 'image1.png' (266 x 76)] position:{0, 0} size:{53.200001, 15.2} rotation:0.00
上
64位模拟器
并再次:
<SKSpriteNode> name:'(null)' texture:['nil'] position:{0, 0} size:{53.200000762939453, 15.199999809265137} rotation:0.00
另一个奇怪的是,如果我在第一次初始化精灵并逐步结束的行上放置一个断点,则精灵是有效的。
任何想法?
调用堆栈:
什么崩溃的类型?日志中的任何内容,即错误消息?调用堆栈是什么? – LearnCocos2D
EXC_BAD_ACCESS(code = 1,address = 0x30)。我将添加调用堆栈的屏幕截图。控制台没有任何东西。 – NMunro
添加一个异常断点并验证上面的代码是崩溃的实际addChild调用。并检查_properties返回的精灵关键字。 – LearnCocos2D