游戏中心登录对话框没有出现

Posted

技术标签:

【中文标题】游戏中心登录对话框没有出现【英文标题】:Game Center sign in dialogue not appearing 【发布时间】:2013-11-07 19:04:51 【问题描述】:

我在游戏开始时使用 Apples Game Center 让玩家登录,问题是我刚刚点击取消(测试最终),现在对话框不再出现,它只是一直直通到禁用。

这是我正在使用的函数。

-(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 实际上并没有做任何事情。

为什么我现在每次运行它都会禁用它? (使用模拟器),我怎样才能摆脱它,让对话再次出现?我是否必须以某种方式手动强制对话再次出现?

【问题讨论】:

也有同样的问题。第一次运行时,它显示登录视图。在我注销并再次运行该应用程序后,它只显示“GameCenter 不可用”消息警报。 一点建议是,如果 Game Center 出现问题,请等待 6-8 小时,然后返回并重试,有时它只是无法正常工作,尽管存在以下问题如果您取消登录 3 次,我认为是,它会将您锁定,请在此处查看解决方案。 我在 ios 8 iphone 5C 上遇到了同样的问题。你有什么解决办法吗? 【参考方案1】:

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

要恢复它,请运行“Game Center”,登录并注销 - 然后再次运行您的游戏,对话框将再次出现(它至少会运行几次,直到您过于频繁地“取消”)。

【讨论】:

以上是关于游戏中心登录对话框没有出现的主要内容,如果未能解决你的问题,请参考以下文章

邮件访问被拒绝因为没有授权此用户远程登录什么意思

iOS 6 中的游戏中心

友盟第三方微信登录出现诡异的的问题(点击微信登录出现对话框)

没有标题栏或关闭按钮的 JOptionPane 内部对话框?

为啥我家的QT、每次都登陆不到?老是超时!

每次我的邮箱登录时都会出现一个对话框怎么设置让其不出现?