游戏中心身份验证视图未显示 - iOS

时间:2014-05-23 20:19:12

标签: ios cocoa-touch game-center viewcontroller presentviewcontroller

我有一个简单的iOS应用程序,它使用了Game Center。但是最近在将其更新到iOS 7时,我注意到authenticate方法不起作用。

其中一个问题是我用来向用户展示视图控制器的代码,如果他们需要登录游戏中心,它不再弹出应用程序中的游戏中心登录窗口。

我遇到的另一个问题是我找不到使用什么方法而不是弃用的“authenticateWithCompletionHandler”。

这是我的代码:

-(void)authenticateLocalUser {

GKLocalPlayer.localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {

    if (GKLocalPlayer.localPlayer.authenticated) {
        // Already authenticated
    }

    else if (viewController) {
        [self presentViewController:viewController animated:YES completion:nil];
    }

    else {
        // Problem with authentication, probably bc the user doesn't use Game Center.
    } 
};

if ([GKLocalPlayer localPlayer].authenticated == NO) {

    [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)  {
        [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg:NULL error: error];
    }];
}
}

谢谢你的时间,Dan。

1 个答案:

答案 0 :(得分:1)

无论我最终成功解决了这个问题。至于' authenticateWithCompletionHandler',我使用了这个:

[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];