我有一个应用程序,在终止时需要同步 sqlite 数据库的内容。
要知道应用程序何时终止,我在应用程序委托的 applicationWillTerminate: 方法中放置了一个断点。但调试器从不进入那里。
我知道终止应用程序的两种方法:
- 就像我在 iPhone 中所做的那样:一直触摸应用程序图标,直到它开始颤抖,然后单击“x”;
- 停止调试器。
这两种方法都不会导致调试器进入我的应用程序委托的 applicationWillTerminate: 方法。
如果我使用第一种方法,我什至会遇到异常:我在这一行收到 SIGKILL:
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
即使没有该信号的处理程序,模拟器似乎也会启动 SIGKILL 。
调用的最后一条消息是 mach_msg_trap。