You can call `-
[GKTurnBasedMatch (void)loadMatchDataWithCompletionHandler:(void (^)(NSData *matchData, NSError *error))completionHandler];
as often as you like getting updated matchData. If you want to do incremental moves, you can also do -
[GKTunrBasedMatch - (void)endTurnWithNextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandler];
with your own member as the next member. However, you need to load the MatchDataWithCompletionhandler: once again after you have sent a partial move before you are allowed to send the next part of the move.
source share