Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sandbox leaderboard empty

I'm trying to make a Game Center leaderboard for my app. I've been following the steps from Apple and following the sample code from GKTapper, but I can't get any scores to show in Game Center. I've set up the leaderboard in iTunes Connect. Here's the code that reports the score:

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

The code seems to run fine. The alert is never shown. But, when I go into Game Center, the leaderboard is blank. I'm running Xcode 4.2 and iOS 5. Any ideas?

like image 665
user617123 Avatar asked Jun 17 '11 23:06

user617123


2 Answers

Whatever's been told is completely true :

  • you need an int_64t score;
  • you need all things set up on iTunesConnect;
  • you need to use a sandbox account.

What I have just found out is that there's no such thing in iTunesConnect as the Category. On the other hand, you're supposed to init your GKScore with the leaderboard category.

From what i've seen over the forums, about 2/3 of the people get it right.

In iTunesConnect, when you configure a leaderboard, you set :

  • its reference (which i long thought was the category);
  • its ID (which turns out to be the actual category).

I was trying to post score using the reference instead of the ID.

Two things :

  • first, i had no error from the program (which, in some way, is acceptable);
  • second, once i got it right, i notice that, whereas many people claim the opposite, there's no need for more than one sandbox account to display the score.
like image 71
Bruce BENAMRAN Avatar answered Oct 21 '22 18:10

Bruce BENAMRAN


Setting the category explicitly again after the init fixed it for me.

Scoreobject.category = category

Also to show the right leaderboard I set the category there aswell.

leaderboardobject.category = @"mycategory";
like image 27
user1332313 Avatar answered Oct 21 '22 16:10

user1332313