我正在创建一个游戏,当应用程序在后台或未运行时,用户将获得奖励积分。如果应用程序完全关闭,他们仍然应该获得积分。目前我正在使用 NSTimer 执行此操作,但是我已经阅读了计时器无法在后台执行的所有内容。这是我所拥有的以及我应该如何解决它:
- (void)applicationDidEnterBackground:(UIApplication *)application {
score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(score) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
-(void) score{
score++;
[[NSUserDefaults standardUserDefaults] setInteger:score forKey:@"score"];
}