applicationWillTerminate:未被调用

发布于 2024-12-04 07:30:24 字数 170 浏览 3 评论 0原文

我正在使用 applicationWillTerminate: 来保存一些最后一刻的内容。但问题是它永远不会被调用。如果我在方法顶部执行类似的操作: NSLog(@"Something"); 它不会被调用,也不会输出到控制台。

有谁知道为什么会发生这种情况?

I'm using applicationWillTerminate: to save some last-minute stuff. But the problem is that it never gets called. If I do something like this at the top of the method: NSLog(@"Something"); it doesn't get called and doesn't get outputted to the console.

Does anyone know why this is happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

飘落散花 2024-12-11 07:30:24

来自 Apple 文档:

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

如果您的应用启用了后台功能,请使用:

- (void)applicationDidEnterBackground:(UIApplication *)application

From Apple docs:

For applications that do not support background execution or are linked against iOS 3.x or earlier, this method is always called when the user quits the application. For applications that support background execution, this method is generally not called when the user quits the application because the application simply moves to the background in that case. However, this method may be called in situations where the application is running in the background (not suspended) and the system needs to terminate it for some reason.

If your app has background enabled use:

- (void)applicationDidEnterBackground:(UIApplication *)application

风吹雪碎 2024-12-11 07:30:24

请改用 applicationDidEnterBackground:。当您在多任务系统中按下主页按钮时,应用程序不会终止。

Use applicationDidEnterBackground: instead. Applications aren't terminated when you press the home button in a multitasking system.

蓝眸 2024-12-11 07:30:24

来自 iOS 应用程序编程指南关于核心应用程序设计和应用程序生命周期:

如果您的应用程序当前处于挂起状态,则不会调用 applicationWillTerminate: 方法。

如果您要链接到 iOS 4.0,您还应该将数据保存在 applicationDidEnterBackground: 中。

From the iOS Application Programming Guide on Core Application Design and Application life time:

The applicationWillTerminate: method is not called if your application is currently suspended.

If you are linking against iOS 4.0, you should also save data in applicationDidEnterBackground:.

晚雾 2024-12-11 07:30:24

第 1 步:command + shift + h(双击(tab))

第 2 步:移动应用程序顶部(kill)

第 3 步:applicationWillTerminate Work

step 1: command + shift + h (double click(tab))

step 2: move app top side (kill)

step 3: applicationWillTerminate Work

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文