我是一个正在开发使用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。
有人可以帮忙吗?这让我疯狂!!
谢谢 :)