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