【问题标题】:Using the applicationWillTerminate method doesn't seem to be working使用 applicationWillTerminate 方法似乎不起作用
【发布时间】:2010-10-29 17:03:37
【问题描述】:

我想在用户退出应用时保存一些应用状态数据。我在想我应该在我的 appDelegate 中使用 applicationWillTerminate 方法,但是当我尝试在那里做任何事情时,它什么也没做:

- (void) applicationWillTerminate:(UIApplication *)application {
NSLog(@"test");
 }

当我运行我的应用程序,做一些事情,然后点击主页按钮退出应用程序时,控制台没有任何反应...

我必须在 appDelegate 中实现 applicationWillTerminate 方法吗?我的应用程序的用户离开时很可能会在阅读器视图中,是否有实现应用程序将关闭的方法?

【问题讨论】:

    标签: iphone uiapplicationdelegate savestate


    【解决方案1】:

    查看此链接iPhone simulator and applicationWillTerminate() 获取旧 iOS 版本;

    但请记住,主页按钮不一定会终止应用程序是 ios4...您应该使用 applicationDidEnterBackground 但会建议两个地方 applicationWillTerminateapplicationDidEnterBackground

    UIApplicationExitsOnSuspend 键添加到应用程序的Info.plist 文件并将其值设置为YES 将使您的应用程序在您点击主页按钮时退出,即使在iOS4 上也是如此

    【讨论】:

      【解决方案2】:

      在 iOS 4 中,applicationWillTerminate: 方法仅在您选择退出后台执行模型时才会调用。在标准的 iOS 4 应用程序生命周期中,当按下主页按钮时,应用程序会暂停(而不是终止)。您的应用程序委托将收到一条applicationWillResignActive: 消息,然后是一条applicationDidEnterBackground: 消息。 applicationDidEnterBackground: 方法是保存用户数据的好地方。

      【讨论】:

        猜你喜欢
        • 2012-08-25
        • 1970-01-01
        • 2023-02-04
        • 1970-01-01
        • 2021-11-27
        • 2021-09-13
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        相关资源
        最近更新 更多