1

我已经使用不同的测试帐户将分数发送到排行榜,但是当我尝试查看排行榜时,我只能从我登录的帐户中看到分数。我使用此代码发送分数:

    - (void)reportScore:(int64_t)score forLeaderboardID:(NSString*)identifier
{
    GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier: @"GHS"];
    scoreReporter.value = score;
    scoreReporter.context = 0;

    [GKScore reportScores:@[scoreReporter] withCompletionHandler:^(NSError *error) {
        if (error == nil) {
            NSLog(@"Score reported successfully!");
        } else {
            NSLog(@"Unable to report score!");
        }
    }];
}

这是我用来显示排行榜的代码:

- (void)showLeaderboardOnViewController:(UIViewController*)viewController
{
    GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
    if (gameCenterController != nil) {
        gameCenterController.gameCenterDelegate = self;
        gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
        gameCenterController.leaderboardIdentifier = _leaderboardIdentifier;

        [viewController presentViewController: gameCenterController animated: YES completion:nil];
    }
}

也许是因为它是沙盒之类的?这可能正常吗?谢谢

4

1 回答 1

2

我在经过大量搜索之前和之后都遇到过这个问题,这似乎是沙盒帐户的错误。我将我的表分成有史以来最高、今天最高和最高朋友,在每种情况下,我其他沙盒帐户的其他更高分数都被忽略了。当我将我的另一个帐户添加为朋友时,他们开始分享分数就好了。

我使用的代码或多或少与您自己的代码相同,并提交到 App Store 并被接受,现在它可以在真实帐户中正常工作。

于 2014-06-25T07:09:50.367 回答