2011-03-21 38 views
1

我正在调试iOS 4和以上版本中的应用程序的问题,它在关闭时似乎无法保存进度。我使用Xcode 4.0并在模拟器中运行它,当我在模拟器中关闭应用程序时,将它从后台应用程序栏中删除,然后从模拟器中重新启动它,它似乎在下面的retval行中断开:在调试过程中从后台删除应用程序

int main(int argc, char *argv[]) { 

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

它引用“主题1:程序接收到的信号:‘SIGKILL’,我不知道如何用它来做什么(也我只是几分钟初次使用的Xcode 4)

可以。有人解释这里发生了什么,当我在后台粘贴应用程序(和/或删除它)时,我是否只是无法调试,或者这是否可能指向我保存进度的问题?我基本上触发保存,当我的主要代表收到:

- (void)applicationWillTerminate:(UIApplication *)application 

回答

3

您应该保存在applicationDidEnterBackground:而不是applicationWillTerminate:。当后台应用程序关闭时,它会在不发送applicationWillTerminate:(这是您正在获取的SIGKILL)时被杀死。但是,如果您在没有多任务处理的情况下支持设备或版本,则还需要保存在applicationWillTerminate:之内,因为在这种情况下使用它。

相关问题