views:

71

answers:

1

The Game Center documentation indicates that the

playersToInvite parameter is non-nil when your application is launched directly from the Game Center application to host a match.

A few people have asked how this works exactly, i.e. there doesn't appear to be a way to select a friend from the Game Center application and invite them to play from Game Center; it only works when you invite in-game. Is this documentation dated or is there a secret way to start a game-specific match from Game Center? I'd like to test my inviteHandler but I've been unable to determine how this parameter is passed to the application.

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite)
{
    // clean up games in progress here
    if (acceptedInvite)
    {
        NSLog(@"acceptedInvite %@", acceptedInvite);
        // The acceptedInvite parameter is non-nil when the application receives an 
        // invitation directly from another player.
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self disableHomeUI];
        [self presentModalViewController:mmvc animated:YES];
    }
    else if (playersToInvite)
    {
        NSLog(@"playersToInvite %@", playersToInvite);
        // playersToInvite parameter is non-nil when your application is launched 
        // directly from the Game Center application to host a match
        [self disableHomeUI];
        [self doPresentMatchMakerUIWithPlayersToInvite:playersToInvite];
    }
};
+1  A: 

I think the docs do not reflect the current state of affairs. As far as I can tell, the Game Center App does not even offer an interface for inviting friends to play, currently.

Also, check the developer forums (apparently you have ;) ). Someone from Cupertino seems to think it is not possible. So...

Joseph Tura