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

    - (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];
    }
}

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

最佳答案

在进行大量搜索之前和之后,我都遇到了这个问题,这似乎是沙箱帐户的错误。我将表分成了有史以来最高的记录,今天的最高记录和最高的 friend ,在每种情况下,其他沙箱帐户中其他较高的分数都被忽略了。当我将另一个帐户添加为 friend 时,他们开始共享分数就很好了。

我使用的代码与您自己的代码大致相同,并提交给了接受该代码的App Store,现在它可以与真实帐户一起正常使用了。

关于ios - Game Center排行榜显示一项结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24397963/

10-14 19:56