La classifica del Gamer Center non mostra punteggi, e ogni utente ha accesso solo al proprio punteggio
-
12-12-2019 - |
Domanda
Sto cercando di fare una classifica nel mio gioco con il centro di gioco.Post il punteggio alto come:
GKScore *myScoreValue = [[[GKScore alloc] initWithCategory:@"grp.high_scores"] autorelease];
myScoreValue.value = self.game.scoreMeter.score;
NSLog(@"Attemping to submit score: %@", myScoreValue);
[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
if(error != nil){
NSLog(@"Score Submission Failed");
} else {
NSLog(@"Score Submitted");
id appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate displayLeaderBoard:nil];
}
}];
.
Vedo "Punteggio presentato" come previsto, e porta la vista del leader della Game Center, ma leggi semplicemente "No Punteggi"
Conosco altre persone hanno detto Hai bisogno dialmeno due conti , ma ho già provato con tre.
Per ogni account, il gioco si presenta per loro nell'app del centro di gioco, e quando query per i primi dieci punteggi:
- (void) retrieveTopTenScores
{
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardRequest.range = NSMakeRange(1,10);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
NSLog(@"Error grabbing top ten: %@", error);
}
if (scores != nil)
{
NSLog(@"Top ten scores: %@", scores);
}
}];
}
}
.
Ogni utente vede solo il proprio punteggio.
Allora perché la classifica è vuota e perché ogni utente vede solo il proprio punteggio?
Soluzione 2
Bene, si scopre che devi essere effettuato l'accesso al centro di gioco con un account Sandbox sviluppatore per funzionare correttamente
Altri suggerimenti
Sandbox può essere disordinato a volte, ma lascia che ti chieda questo.È il tuo self.game.scoreMeter.score
un int?
Se è così, prova a fare questo:
myScoreValue.value = [[NSNumber numberWithInt:self.game.scoreMeter.score] longLongValue];
.
per impostare il valore dell'oggetto GKScore.Fammi sapere se cambia nulla.