我有一个使用Game Center的游戏。
我正在玩游戏,当游戏结束时,我将我的分数发送给GC。之后,我用下面的方法检查我的分数。
- (void)showLeaderboard
{
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != NULL)
{
leaderboardController.category = self.currentLeaderBoard;
leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardController.leaderboardDelegate = self;
UnityAppController* delegate = (UnityAppController*)[[UIApplication sharedApplication] delegate];
[[delegate rootViewController] presentViewController:leaderboardController animated:YES completion:nil];
}
}
这只是工作正常,当我检查它时,我可以在排行榜上看到我最近的得分。
但问题是在问题开始之后。第二天,当我使用showLeaderboard()
方法再次检查时,排行榜显示“没有得分”。如果我玩游戏并再次发送我的分数它再次正常工作,我可以看到我的分数!但是,第二天排行榜再次向我说“没有得分”!就像排行榜在00.00重置一样..只是尴尬..
有什么建议吗?提前谢谢..
答案 0 :(得分:0)
只需确保您提供正确的代码即可提交分数。这是我非常喜欢的一种方式。即使您会收到警告,因为他们不希望您在iOS 7中使用它,它仍然有效。如果它不起作用,请告诉我。
(IBAction)submitscoretogamecenter{
GKLocalPlayer *localplayer = [GKLocalPlayer localPlayer];
[localplayer authenticateWithCompletionHandler:^(NSError *error) {
}];
//This is the same category id you set in your itunes connect GameCenter LeaderBoard
GKScore *myScoreValue = [[[GKScore alloc] initWithCategory:@"insertCategory"] autorelease];
myScoreValue.value = scoreInt;
[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
//insert what happens after it's posted
}];
[self checkAchievements];
}