2

我正在 iOS6 中构建 Game Center 游戏,并且不断遇到问题。当前的让我难过——我的游戏每次尝试验证本地玩家的身份时都会失败。每次它触发我的“禁用游戏中心”功能,它都让我发疯。

- (void) disableGameCenter
{
    // Write something to disable gamecenter.
    // gameCenterAvailable = FALSE;
}

-(void)showAuthenticationDialogWhenReasonable:(UIViewController *)viewController
{
    // Pause Tasks Here
//    [[[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] rootViewController] presentViewController:viewController animated:YES completion:nil];
}

- (void) authenticateLocalPlayer
{
    localPlayer = [GKLocalPlayer localPlayer];
    __weak GKLocalPlayer* weakLocalPlayer = localPlayer;

    weakLocalPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
    {
        if (viewController != nil)
        {
            [self showAuthenticationDialogWhenReasonable: viewController];
        }
        else if (weakLocalPlayer.isAuthenticated)
        {
            self.localPlayer = weakLocalPlayer;
        }
        else
        {
            [self disableGameCenter];
        }
    };
}
4

1 回答 1

0

如果我错了,请原谅我,但我认为您没有运行身份验证方法。

试试这个方法:

- (void) authenticateLocalPlayer
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    [localPlayer authenticateWithCompletionHandler:^(NSError *error) {
        if (localPlayer.isAuthenticated)
        {
            NSLog(@"Authenticated");
        }
        else
        {
            NSLog(@"Not Authenticated");
        }
    }];
}
于 2013-04-21T00:13:24.900 回答