cocos-2d:当我通过任务管理器关闭它时,我的应用程序崩溃了

时间:2012-07-07 06:21:21

标签: iphone ios cocos2d-iphone

我有奇怪的问题,当我通过任务管理器关闭我的应用程序时,我的应用程序崩溃了

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

抛出“线程:1信号SIGKILL”错误,我根本无法重新打开我的应用程序。其他时候它运作得很好。 请有人帮我解决这个问题。 我是cocos-2d的新手所以请保持温柔:(,谢谢。

1 个答案:

答案 0 :(得分:4)

据我所知,这是正常的预期行为。我认为,看起来很奇怪的原因是当你从Xcode运行时,你的可执行文件被附加到Xcode中的调试器,因此它有时会阻止执行(例如,在崩溃或SIG_KILL场景中)。这只是给你一个提示,当你使用任务栏关闭应用程序时苹果正在做什么...它将SIGKILL发送到进程: - )

编辑:对于好奇,我测试了一点,发现applicationWillTerminate:没有被调用,这实际上是作为应用程序消费者的鼓励。你真的是SIGKILLing这些东西。我认为这意味着(使用后台处理工作流程)调用该方法的唯一情况是opt out of background execution。好消息是,为了以这种方式杀死应用程序,您需要先将其移至后台,因此拆解的规范位置是applicationWillResignActive:但是您知道...

编辑:避免再次出现问题的说明:

  1. 从Xcode
  2. 在您的设备上构建并运行该应用
  3. 只要应用“启动并运行”,请点击Xcode中的“停止”
  4. 当应用程序关闭时,它现在与Xcode“分离”,您可以根据需要随时终止并重新打开。请记住,它将不再记录Xcode任何NSLog调用或其他。