游戏中心认证问题

3

我是一个正在开发使用Game Center的新应用程序,但不幸的是,我在Game Center身份验证方面遇到了麻烦。

这里是我正在使用的身份验证代码:

@interface ViewController ()



// A flag indicating whether the Game Center features can be used after a user has been authenticated.
@property (nonatomic) BOOL gameCenterEnabled;

// This property stores the default leaderboard's identifier.
@property (nonatomic, strong) NSString *leaderboardIdentifier;


@end


@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self authenticateLocalPlayer];
    _gameCenterEnabled = NO;
    _leaderboardIdentifier = @"LEADERBOARD ID HERE";
}

- (void)authenticateLocalPlayer {
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
        if (viewController != nil) {
            [self presentViewController:viewController animated:YES completion:nil];
        }
        else{
            if ([GKLocalPlayer localPlayer].authenticated) {
                _gameCenterEnabled = YES;
                [[GKLocalPlayer localPlayer] loadDefaultLeaderboardIdentifierWithCompletionHandler:^(NSString *leaderboardIdentifier, NSError *error) {
                    if (error != nil) {
                        NSLog(@"%@", [error localizedDescription]);
                    }
                    else{
                        _leaderboardIdentifier = leaderboardIdentifier;
                    }
                }];
            }
            else {
                _gameCenterEnabled = NO;
                NSLog(@"Game Center Not available");
            }
        }
    };
}

我仔细检查了应用程序 ID、排行榜标识符,已在 iTunes Connect 中启用游戏中心,还链接了 GameKit 框架并在 View Controller.h 中导入了 GameKit。此外,我已在游戏中心中启用沙盒模式。

我正在使用 OS X Mavericks 上的 Xcode 5.0.2。

有人可以帮忙吗?这让我疯狂!!

谢谢 :)


为什么你在 "if ([GKLocalPlayer localPlayer].authenticated)" 内打印身份验证错误?将其改为与 [GKLocalPlayer localPlayer].authenticated 处于同一级别的 else if 条件,并查看错误描述。 - guenis
2个回答

0

0

对于其他遇到这个问题的人,您需要启用游戏中心功能。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接