I do not have the whole solution, but the idea for you:
Each player has a unique player identifier, which you can get if you save it after
didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID
Now you can start a programmatically new match and invite this player. He will be asked if he wants a rematch, and then you can play again.
I know that this is not a lot of code or specific advice, but perhaps there is enough information to find the rest in the GameKit Class Reference .
I wonder if you can handle it, tell me if you did good luck too!
Edit:
I searched in the links and found this:
- (void) loadPlayerData: (NSArray *) identifiers
I have not tried it myself, but you should get this player again if you store its identifier in an array and pass it to this function.
I hope they bring some changes to iOS6 for Game Center so that you can make your matches programmatically in your own way ...
source share