繁体   English   中英

iOS模拟器:应用程序无法正确终止

[英]iOS Simulator: Application can't terminate correcly

我有一个应用程序,当终止时需要同步sqlite数据库的内容。
要知道应用程序何时终止,我在应用程序委托的applicationWillTerminate:method中放置了一个断点。但调试器从不在那里执行。
我知道两种终止应用程序的方法:

  1. 就像我在iPhone中一样:继续触摸应用程序图标,直到它开始发抖,我点击“x”;
  2. 停止调试器。

这两种方法都不会导致调试器进入我的应用程序委托的applicationWillTerminate:方法。
如果我使用第一种方法,我甚至会得到一个例外:我在这行中收到了SIGKILL:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

似乎模拟器即使没有该信号的处理程序也会启动SIGKILL。
最后一条消息是mach_msg_trap。

从文档中

对于不支持后台执行或链接到iOS 3.x或更早版本的应用程序,当用户退出应用程序时,始终会调用此方法。 对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。 但是,可以在应用程序在后台运行(未挂起)并且系统由于某种原因需要终止它的情况下调用此方法。

你可能想要applicationWillResignActive: .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM