0

所以我一直在阅读文章和 Apple 开发人员库,但我无法解决这个问题。

我想为我的应用程序创建一个 Game Center 排行榜,可以通过我的游戏菜单访问。但是,由于我使用 Sprite Kit 来创建我的游戏,这给我带来了一些问题。

我在 iTunes Connect 中注册了我的应用程序,启用了 Game Center,并且 Xcode 中的身份信息与 iTunes Connect 中的身份信息相匹配。

我创建了一个按钮,它应该打开 Game Center 排行榜。当它被点击时,这被称为:

GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController    alloc] init];
    if (leaderboardController != NULL)
    {
        leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
        leaderboardController.leaderboardDelegate = self;
        GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
        if (gameCenterController != nil)
        {
            gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
            UIViewController *vc = self.view.window.rootViewController;
            [vc presentViewController: gameCenterController animated: YES completion:nil];
        }

    }

现在我收到消息,Game Center 不可用,因为没有玩家登录。

为了解决这个问题,我尝试使用苹果的身份验证方法:

- (void) authenticateLocalPlayer { GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){ if (viewController != nil) { //showAuthenticationDialogWhenReasonable: is an example method name. [self showAuthenticationDialogWhenReasonable: viewController]; } else if (localPlayer.isAuthenticated) { //authenticatedPlayer: is an example method name. [self authenticatedPlayer: localPlayer]; } else { [self disableGameCenter]; } }]; }

我现在无法定义在身份验证方法中调用的这些方法。

我的明确问题:我如何验证本地玩家?

4

0 回答 0