1

beginBackgroundTaskWithExpirationHandler:^{ } を使用してバックグラウンド タスクをセットアップし、タスクを終了した後でも、

    if ([[UIDevice currentDevice] isMultitaskingSupported]) {
    [[UIApplication sharedApplication] endBackgroundTask:backgroundTaskID];
    backgroundTaskID = UIBackgroundTaskInvalid;
    }

    NSLog(@"App State -- %d", [[UIApplication sharedApplication] applicationState]);


    if([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
    {
       //OpenGL operations
    }

私が得るのはUIApplicationStateActiveです。これはバグですか?アプリが実際にバックグラウンドにあることを確認するには、他にどのようにすればよいですか?

4

2 に答える 2

0

NSNotification で確認できます:

- (void)viewDidLoad {
[super viewDidLoad];
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:app];
}
- (void)applicationWillResignActive:(NSNotification *)notification {
//do what you want when your app is in background
}
于 2013-11-25T20:27:32.713 に答える