iphone - iOS GameCenter Matchmaker not working -
i’m trying make custom matchmakingview using matchmaker. code below used find match.
when run on 2 different devices different game center accounts, both match none connect match. stuck in while loop in infinity , never out. have missed something, need call connect match?
- (void) findmatch{ gkmatchrequest *request = [[gkmatchrequest alloc] init]; request.minplayers = 2; request.maxplayers = 2; request.playerstoinvite = nil; nslog(@"start searching!");  [matchmaker findmatchforrequest:request                withcompletionhandler:^(gkmatch *match, nserror *error)  {      if (error) {          // print error          nslog(@"%@", error.localizeddescription);      }      else if (match != nil)      {          curmatch = match;          curmatch.delegate = self;            nslog(@"expected: %i", match.expectedplayercount);           while (match.expectedplayercount != 0){              nslog(@"players: %i", curmatch.playerids.count);          }          nslog(@"start match!");      }  }]; 
you should not using while loop wait expectedplayercount reach 0, instead implement gkmatchdelegate method:
- (void)match:(gkmatch *)match player:(nsstring *)playerid didchangestate:(gkplayerconnectionstate)state {     if (!self.matchstarted && match.expectedplayercount == 0) {         self.matchstarted = yes;         //now should start match.     } } 
Comments
Post a Comment