3

When switching to GKMatchmaker from MatchmakerViewController my two sandbox game center accounts running on separate devices (both iPhone 5s) no longer connect into the same match. Both show expectedPlayerCount still above 0.

I followed the RayWenderlich tutorial on creating a multiplayer game with game center. It is supposed to be real time and was working as such. Using a GKMatchmakerViewController it all worked completely fine (both auto-matching and invites). However, as soon as I switched one block of code it no longer works. I've been fiddling with this for awhile now and the apple docs don't seem to help me at all. Anyone know what I might need to do extra?

func findMatchWithMinPlayers(minPlayers: Int, maxPlayers: Int, viewController: UIViewController, delegate: GameKitHelperDelegate) {

    if enableGameCenter == false {
        return
    }

    matchStarted = false
    gkMatch = nil
    gkDelegate = delegate
    viewController.dismissViewControllerAnimated(false, completion: nil)

    var request = GKMatchRequest()
    request.minPlayers = minPlayers
    request.maxPlayers = maxPlayers

    if pendingRecipients != nil {
        request.recipients = pendingRecipients!
    }

    GKMatchmaker.sharedMatchmaker().findMatchForRequest(request, withCompletionHandler: { (match: GKMatch!, error: NSError!) -> Void in

        self.gkMatch = match
        self.gkMatch?.delegate = self
        println(match)
        if self.matchStarted == false && match.expectedPlayerCount == 0 {
            self.lookupPlayers()
        }
    })
}

This only difference between this and what was working is that this has the GKMatchmaker instead of the GKMatchmakerViewController and Delegate.

Tim Cron
  • 51
  • 3

0 Answers0