0

在我的 info.plist 文件中,我的应用程序不会在后台运行 = YES。这是一个企业应用程序,我正在尝试在用户退出(点击主页按钮)时记录。但是在 AppDelegate 中,我登录到控制台以查看将调用什么方法,但它们都不是(applicationWillResignActive、applicationDidEnterBackground、applicationWillTerminate)。有没有办法确定用户何时退出我的 plist 设置>?

谢谢

这是 willTerminate 方法,它是开箱即用的:

- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"goodbye");
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.



}

我已经更改了 plist 设置,现在可以从 applicationDidEnterBackground 登录。

4

2 回答 2

1

因此,您不希望应用程序在后台运行,但您想知道应用程序何时终止?做这个

UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(applicationWillTerminate:)
                                             name:UIApplicationWillTerminateNotification
                                            object:app];

然后填写你自己的 applicationWillTerminate 方法。你不会有太多时间做事。

于 2013-02-28T19:10:00.813 回答
0

如果您已将 ApplicationDoesNotRunInBackgound 设置为 YES,那么这必须有效,

将此方法放入您的 appDelegate.m

-(void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"user exits app");
}

在我的应用程序中,使用相同的 plist 设置,此方法会触发

于 2013-02-28T19:13:59.693 回答