【问题标题】:Unknown Crashes happened in SpriteKitSpriteKit 中发生未知崩溃
【发布时间】:2014-04-21 19:50:29
【问题描述】:

我是 spriteKit 的新手,正在开发一款游戏。我遇到了一些内存问题,我解决了,但在玩了几次游戏后,它现在由于“访问不正确”而崩溃。

在每个关卡结束时,我都会展示一个图像来指示用户是赢还是输,并删除 SkScene 中的所有 SKSpriteNode:

[node removeFromParent];

我不使用纹理图集的预加载。

此链接来自我的 Xcode:

崩溃日志:

Crash Log Description

我在试飞中发现了错误

3 UIKit 0x30ee700c _UIGestureRecognizerSendActions 4 UIKit 0x30d92502-[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] 5 UIKit 0x31139af4 ___UIGestureRecognizerUpdate_block_invoke

【问题讨论】:

  • @LearnCocos2D 可能是,但你能告诉我如何解决吗?我对 SKNodeShape 一无所知,也不使用它
  • 尝试添加异常断点以查明导致此错误的行
  • 此外,发生此错误时应记录调用堆栈。请同时发布。
  • @akashg 当我的错误图像 1 我的错误图像 2 问题中的两个图像发生错误时,我已经发布了堆栈

标签: ios objective-c sprite-kit


【解决方案1】:

我无法理解您的崩溃日志,您可以在运行时运行您的应用程序时对其进行调试。

防止EXC_BAD_ACCESS的简单方法可以是:

if (node != nil)
{
    [node removeFromParent];
}

【讨论】:

  • 我认为向 nil 对象发送消息不会导致应用崩溃
  • 你仍然无法指出你到底在哪里发生了这个崩溃
  • 能否查看问题中的崩溃日志描述链接
  • “我认为”是无效的,除非您实际尝试过。崩溃日志链接没有符号化。检查这个:kevincupp.com/2011/05/12/symbolicating-ios-crash-logs.html
  • EXC_BAD_ACCESS 通常意味着您正在向不再存在的对象发送消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 2019-05-17
  • 1970-01-01
  • 2013-02-12
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多