我的应用程序中有一个按钮,用于向游戏中心提交分数并开始工作。 这是代码:
-(void)subScore{
GKScore *scoreRepoter = [[[GKScore alloc] initWithCategory:@"123456"] autorelease];
scoreRepoter.value=100;
[scoreRepoter reportScoreWithCompletionHandler:^(NSError *error) {
if (error!=nil) {
NSLog(@"errr submitting");
}else
NSLog(@"ok!");
}];
现在我想在使用主页按钮关闭应用之前提交分数。 我想自定义主页按钮的动作(如果可能的话) 或者我可能在viewDidUload中使用相同的代码行...或类似的东西...... 我会确定在卸载应用程序之前会执行该操作吗? 我应该在dealloc方法中使用该代码? 感谢
答案 0 :(得分:2)
您不能直接自定义Home按钮的行为,但iOS在您的应用程序委托中提供了一些方法,您可以通过它们控制应用程序的生命周期。
在应用程序转到后台之前调用的方法是应用程序委托中的applicationWillResignActive:
(通常此方法位于AppDelegate.m
文件中)。
我认为通过调用你的方法可以获得所需的效果:
- (void)applicationWillResignActive:(UIApplication *)application {
[mygame subScore];
}
另请注意,iOS有此方法的执行时间限制:您必须在不到五秒的时间内完成所有保存游戏的工作,否则您的应用程序将被终止。