objective-c - 自定义 iPhone 主页按钮的 Action 以在 gamecenter 中提交分数

标签 objective-c ios ios4

我的应用程序中有一个按钮,该按钮可将分数提交到游戏中心并正常工作。 这是代码:

-(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/

相关文章:

objective-c - 用于检查 NSArray 计数的 STAssertEquals - 干净的方式

ios - TableView重新加载数据的麻烦

android - 在 xamarin forms iOS 中单击 webview 时如何在设备浏览器中打开链接

ios - UITableViewCell 高度在每次旋转变化时增加 2 个像素

iphone - 如何使用 iPhone SDK 确定任何歌曲的 bpm(每分钟节拍数)?

ios Objective-C 连接到 asmx Web 服务的奇怪行为(IIS 上的 C#)

iphone - 变量超出范围

ios - 如何将 TableViewCell 值传递给 Swift 3.0 中的新 ViewController?

iphone - iOS 应用程序版本控制

objective-c - NSUInteger C 数组