vladimir z
vladimir z

Reputation: 87

Game Center: authenticates ok, shows leaderboard ok, posts (my) score ok, only 2 players?

My game (called "Clear the Square") has gotten approved. It's getting hundreds of downloads. It's currently #44 in free word games in the US. There is only one problem: when I go to the Game Center leaderboards, it shows two users, one of them being me. And one of them being (very appropriately named) someone who isn't me. Here is a screenshot of what this looks like: http://clearthesquareapp.com/photo-9.PNG

I know that there are more than two people playing this (iAd tells me so.) I also know that the game is not unwinnable; somewhat challenging, but not unwinnable. And I know that Game Center didn't just completely go out of style overnight. In all other games that have ever been anywhere near a top-100 list, there are at least a few hundred all-time scores on the leaderboard.

Thinking that the problem might be that my development build is somehow special and goes to an alternate, "sandbox" set of leaderboards, I deleted the binary from my phone, rebooted my phone, and downloaded the game from the App Store. Same thing. So that wasn't the problem.

Here's all my GameCenter code; it comes straight from example projects. I don't know what could be missing, since it does successfully authenticate, it does show leaderboards, and it does post my score -- each time I set a high score, it is instantly reflected in the leaderboard.

I would really, really appreciate it if someone could download the free version of my game, and send me a screenshot of what the leaderboards look like on your end. You would definitely get promo codes for every future app I make.

- (void) authenticateLocalPlayer

{

     GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];

     [localPlayer authenticateWithCompletionHandler:^(NSError *error) {

     if (localPlayer.isAuthenticated)

     {

     NSLog(@"authenticated in game center!");
     // Perform additional tasks for the authenticated player.

     }

     }];

}

- (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)

        {

            // handle the reporting error

        }

    }];

}

- (void) showLeaderboard
    {
        GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
        if (leaderboardController != nil)
        {
            leaderboardController.leaderboardDelegate = self;
            [self presentModalViewController: leaderboardController animated: YES];
        }
    }

- (void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController {
    [self dismissModalViewControllerAnimated:YES];
}

There should be more than two players on this leaderboard. What am I missing?

Edit: also, worth noting that it has already been out for about 48 hours, and probably has about 1000 downloads so far. So I am quite sure that it's not just a matter of nobody having had time to win a game yet.

Upvotes: 1

Views: 1364

Answers (1)

Jesse Beder
Jesse Beder

Reputation: 34054

You're probably still signed in to your "sandbox" Game Center account. Log out of that, and then log into your real account, and you should see the real leaderboards.

I ran into this problem myself, and it sometimes didn't "take" to log out and back in, so try a couple times. I think I may have had to kill (via the double-tap home button) the Game Center app after logging out of the sandbox, and before logging into the real account, for it to work.

Upvotes: 1

Related Questions