J'ai configuré des jeux au tour par tour GameCenter pour mon jeu. En ce moment j'essaye juste d'afficher une liste des allumettes actuelles pour le joueur actuel de GK.GameCenter - GKTurnBasedMatch.loadMatchesWithCompletionHandler renvoie un tableau nul
Voici mon code:
GKTurnBasedMatch.loadMatchesWithCompletionHandler { (matchesOpt, errorOpt) in
if let error = errorOpt {
print("Error loading matches: \(error.localizedDescription)")
} else if let matches = matchesOpt {
self.matches = matches
self.gamesTableView.reloadData()
} else {
print("Matches array is nil")
}
}
}
Le troisième cas est toujours frappé, le tableau de résultats est nul.
Je pense qu'il devrait y avoir des correspondances. J'utilise
GKTurnBasedMatch.findMatchForRequest
pour commencer les correspondances, et il réussit. De plus, si je note la matchId du match de findMatchForRequest, puis j'appelle
GKTurnBasedMatch.loadMatchWithID(matchId)
il trouve le match, avec les données de match correct et tout.
Est-ce que quelqu'un sait comment je peux obtenir loadMatchesWithCompletionHandler pour retourner les mêmes jeux que je peux récupérer par ID?
Edit: Voici le code d'authentification:
GKLocalPlayer.localPlayer().authenticateHandler = { (viewControllerOpt, errorOpt) in
NSLog("GK local player authentication finished. Error: \(errorOpt)")
if let viewController = viewControllerOpt {
self.presentViewController(viewController, animated: true, completion: nil)
}
GKLocalPlayer.localPlayer().registerListener(self)
}
Pouvez-vous ajouter le code où vous authentifiez l'utilisateur local? – Thunk
Autre chose à vérifier, dans les gestionnaires de complétion 'findMatchForRequest' et' loadMatchWithID', essayez de vider le tableau 'participants' pour voir dans quel état se trouve le joueur local. – Thunk
Modifier: Code d'authentification ajouté. –