运行 Simulator 4.0 的 iPhone 应用程序收到 Sigkill

标签 iphone debugging ios4 sigkill

我刚刚获得 iPhone SDK 4,我试图停止开发我之前正在开发的应用程序。所以我同时实现了 -(void)applicationDidEnterBackground:(UIApplication *)application- (void)applicationWillTerminate:(UIApplication *)application

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

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

Program received signal: "SIGKILL"

此外,- (void)applicationWillTerminate:(UIApplication *)application 永远不会被调用。我是否缺少一些需要做的事情才能在 OS4 上运行?或者至少有人可以指出我调试 SIGKILL 的方法。谢谢。

最佳答案

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

如果您的应用程序在后台运行(例如,播放音乐或运行某些后台任务)并且用户通过按减号按钮手动终止应用程序,只有这样您才会真正获得 -applicationWillTerminate: 消息。因此,您必须保存所有状态/等。在从 -applicationDidEnterBackground: 返回之前。

关于运行 Simulator 4.0 的 iPhone 应用程序收到 Sigkill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098684/

相关文章:

ios - 从 App Store 提交中排除特定 iPhone 类型

java - 使用 Eclipse 调试 Java : process is suspended, 但它不会抛出任何异常

iphone - 如何使用静态库中的可加载包?

iphone - iPhone 模拟器 4.0 中 Home 按钮无法退出应用程序

iphone - 自定义 TableView 并在 iOS 中使用 didSelectRowAtIndexPath

iphone - 从 iPhone 将图像上传到 Rails 服务器(使用 Dragonfly)

iphone - 如何创建IPA文件?

php - 在 PhpStorm 中使用 Xdebug 时获取 "Debug session was finished without being paused"并且没有停止执行

ios - stringByAppending字符串问题

ios - xcode 4 编辑多个目标重复更改