我正在使用Apples Game Center在游戏开始时登录玩家,问题是我只是单击了cancel(以测试最终),现在对话框不再显示了,它一直在继续通过禁用。

这是我正在使用的功能。

-(void) setup
{
    gameCenterAuthenticationComplete = NO;

    if (!isGameCenterAPIAvailable()) {
        // Game Center is not available.
        NSLog(@"Game Center is not available.");
    } else {
        NSLog(@"Game Center is available.");

        __weak typeof(self) weakSelf = self; // removes retain cycle error

        GKLocalPlayer *localPlayer =  [GKLocalPlayer localPlayer]; // localPlayer is the public GKLocalPlayer

        __weak GKLocalPlayer *weakPlayer = localPlayer; // removes retain cycle error

        weakPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
        {
            if (viewController != nil)
            {
                NSLog(@"Try to show ViewController");
                [weakSelf showAuthenticationDialogWhenReasonable:viewController];
            }
            else if (weakPlayer.isAuthenticated)
            {
                NSLog(@"authenticate player");
                [weakSelf authenticatedPlayer:weakPlayer];
            }
            else
            {
                NSLog(@"disable");
                [weakSelf disableGameCenter];
            }
        };
    }

}

-(void)disableGameCenter
{

}

如您所见,disableGameCenter实际上并不会做任何事情。

为什么每次我现在运行它都会禁用它? (与模拟器一起使用),如何从中获得答案,使对话框再次出现?我是否必须手动强制对话以某种方式再次出现?

最佳答案

在OSX下,我有一个类似的问题,在您“取消” Gamecenter对话框几次后,它停止出现。

要取回它,请运行“游戏中心”,登录并注销-然后再次运行您的游戏,对话框将再次出现(它至少运行了几次,直到您“取消”太多时间)。

关于ios - 游戏中心登录对话框未出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19844465/

10-14 08:39