我正在尝试为我的应用程序制作一个游戏中心排行榜。我一直在遵循苹果的步骤和GKTapper的示例代码,但我无法在游戏中心显示任何分数。我已经在iTunes连接中设置了排行榜。下面是报告分数的代码:
- (void) reportScore: (int64_t) score forCategory: (NSString *) category {
GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease];
scoreReporter.value = score;
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
if (error != nil)
{
UIAlertView* alert= [[[UIAlertView alloc] initWithTitle: @"Score Report Failed!" message: [NSString stringWithFormat: @"Reason: %@", [error localizedDescription]] delegate: self cancelButtonTitle: @"Try Again..." otherButtonTitles: NULL] autorelease];
[alert show];
}
}];
}代码似乎运行得很好。该警报永远不会显示。但是,当我进入游戏中心时,排行榜是空白的。我运行的是Xcode4.2和iOS 5,有什么想法吗?
发布于 2012-09-14 23:40:20
所说的都是真的:
我刚刚发现的是,在iTunesConnect中没有类别这样的东西。另一方面,你应该用排行榜类别来初始化你的GKScore。
从我在论坛上看到的情况来看,大约有2/3的人做对了。
在iTunesConnect中,当您配置排行榜时,您可以设置:
我试着使用引用而不是ID来发布分数。
两件事:
首先,我没有从程序中得到错误(在某种程度上,这是acceptable);
发布于 2012-04-14 02:55:56
在init为我修复之后,再次显式地设置类别。
Scoreobject.category = category另外,为了显示正确的排行榜,我也在那里设置了类别。
leaderboardobject.category = @"mycategory";发布于 2012-05-05 00:06:34
1)请检查类别拼写是否正确。令人惊讶的是,即使我的类别拼写错误,我也没有收到错误。更正打字错误为我解决了这个问题。
2)在展示GKLeaderboardViewController之前,请检查您是否设置了正确的排行榜?正确设置,如下所示:
GKLeaderboardViewController *leaderboardViewController = [[[GKLeaderboardViewController alloc] init] autorelease];
leaderboardViewController.category = @"yourcategoryname";
[youviewcontroller presentModalViewController:leaderboardViewController animated: YES];https://stackoverflow.com/questions/6392879
复制相似问题