0

私のinfo.plistファイルには、Application Does Not Run In Background = 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 に答える