运行模拟器4.0的iPhone应用收到了Sigkill

Nic*_*kDK 8 iphone debugging sigkill ios4

我刚拿到了iPhone SDK 4,而我正试图开发一个我之前正在开发的应用程序.所以我实现了两个 -(void)applicationDidEnterBackground:(UIApplication *)application- (void)applicationWillTerminate:(UIApplication *)application

当我单击模拟器4.0中的主页按钮时,它似乎工作正常.应用程序调用 -(void)applicationDidEnterBackground:(UIApplication *)application并进入后台状态..

但是,我然后双击主页按钮以显示在后台运行的应用程序,并按住它以显示减号或退出.当我点击减号时,调试器说

节目收到信号:"SIGKILL"

此外,- (void)applicationWillTerminate:(UIApplication *)application永远不会被称为.我错过了我需要做的事情才能在OS4上工作吗?或者至少可以有人指出我调试SIGKILL的方法.谢谢.

Jas*_*oco 13

-applicationWillTerminate:只有当您的应用程序在被要求退出时处于运行状态时才会被调用.如果它已处于挂起状态(如此处所示),系统只会向应用程序发送一个终止信号.当用户按下红色减号按钮以手动终止应用程序以及系统决定放弃应用程序以释放前台应用程序的内存时,会发生这种情况.

如果您的应用程序在后台运行(例如播放音乐或运行某些后台任务),并且用户通过按下减号按钮手动终止应用程序,那么您才会真正收到-applicationWillTerminate:消息.因此,您必须保存所有州/等.在你回来之前-applicationDidEnterBackground:.