我的应用程序中有一个按钮,该按钮可将分数提交到游戏中心并正常工作。 这是代码:
-(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!");
}];
现在我想在使用主页按钮关闭应用程序之前提交分数。 我想定制一个主页按钮的 Action (如果可能的话) 或者也许我在 viewDidUload 中编写了相同的代码行……或者类似的东西…… 我可以确定在卸载应用程序之前会执行该操作吗? 我应该在 dealloc 方法中编写该代码吗? 谢谢
最佳答案
您不能直接自定义 Home 按钮的行为,但 iOS 在您的应用程序的委托(delegate)中提供了一些方法,您可以通过这些方法控制应用程序的生命周期。
在应用程序进入后台之前调用的方法是 applicationWillResignActive:
在您的应用程序的委托(delegate)中(通常此方法位于 AppDelegate.m
文件中)。
我认为你可以通过这样调用你的方法来获得所需的效果:
- (void)applicationWillResignActive:(UIApplication *)application {
[mygame subScore];
}
另请注意,iOS 对此方法有执行时间限制:您必须在 5 秒内完成所有保存游戏的工作,否则您的应用程序将被终止。
关于objective-c - 自定义 iPhone 主页按钮的 Action 以在 gamecenter 中提交分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269841/