I was getting the error:
Error Domain=GKErrorDomain Code=3 "The requested operation could not be completed due to an error communicating with the server." UserInfo=0xb1935a0 {GKServerStatusCode=5003, NSUnderlyingError=0xb1866b0 "The operation couldn’t be completed. status = 5003, Found turn sequence at index: 1 that will never be reached because infinite timeout has specified for previous sequence", NSLocalizedDescription=The requested operation could not be completed due to an error communicating with the server.}
When trying to end the match with
[match endTurnWithNextParticipants:nextParticipants turnTimeout:GKTurnTimeoutNone matchData:data completionHandler: ^(NSError *error) {
Turns out, if you use the GKTurnTimeoutNone
you cannot pass more than one participant in the array. The fix was to only pass the next player.
[match endTurnWithNextParticipants:@[nextParticipant] turnTimeout:GKTurnTimeoutNone matchData:data completionHandler: ^(NSError *error) {