GKGameCenterViewController在屏幕上显示几秒后意外解除

时间:2014-01-27 11:13:53

标签: ios objective-c ios7 game-center

我创建了一个与GameCenter集成的游戏 - 我使用排行榜来跟踪用户的高分。从主菜单中,我允许用户使用GKGameCenterViewController类可视化排行榜,创建它的实例并将其显示在屏幕上,从我的主ViewController调用以下方法:

#pragma mark - Game Center Methods

//This is called from ViewDidLoad
- (void) authenticateLocalPlayer
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    if (!localPlayer.isAuthenticated){
        localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
            if (viewController != nil)
            {
                //showAuthenticationDialogWhenReasonable: is an example method name
                [self presentViewController:viewController animated:YES completion:nil];
            }
            else if ([GKLocalPlayer localPlayer].isAuthenticated){
                [[SettingAndScoreManager defaultManager]refreshHighScore];
            }
            else
            {
                UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Game Center Unavailable" message:@"An error occured - please open the Game Center and sign in manually selecting the game from the apps available" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [alertView show];
            }
        };
    }
}

//This is called when the "Leaderboard" button is pressed in the main menu - please see video demo below
- (void)showGameCenter
{
    GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil)
    {
       gameCenterController.gameCenterDelegate = self;
       [self presentViewController: gameCenterController animated: YES completion:nil];
    }
}

//delegate method to dismiss the GKGameCenterViewController
- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

一切正常使用 - 当调用方法时(仅当用户已经在Game Center中进行了身份验证时才允许这样做),Game Center VC出现在显示排行榜的屏幕上。然而,有三天,当我一直试图调用该方法时,VC出现了,但是几秒钟后它仍然是空的,然后它会自动被解除而不会按下任何东西。

一开始我认为这是游戏中心的一个临时问题,但它现在已经存在了三天的问题 - 我在3种不同的设备上尝试了它并且我遇到了同样的问题。但是,如果我直接打开Game Center应用程序并在可用游戏列表中搜索我的应用程序,我可以正确显示排行榜。

有关正在发生的事情的任何想法?

以下是我在YouTube上传的一个演示该问题的演示。

更新:我已经向Apple开发者技术支持部门提出了一张票,经过多次测试,他们没有找到答案并建议提交错误报告,我只是完成。我将用结果更新问题。

更新:Apple Bug Reporter上的问题ID为15955767。

感谢。

0 个答案:

没有答案