Ios gamecenter turnbased轮流保存比赛数据

Ios gamecenter turnbased轮流保存比赛数据,ios,game-center,Ios,Game Center,有没有可能在轮到我的时候保存/更新matchdata [currentMatch saveCurrentTurnWithMatchData:data completionHandler:^(NSError *error) { if (error) { }]; 如果仍然轮到该用户,则可以使用上述代码,但如果不是轮到该用户,该怎么办?如何在两个玩家之间发送数据?试试这个 - (void) advanceTurn { NSData *updatedMatchData = [thi

有没有可能在轮到我的时候保存/更新matchdata

[currentMatch saveCurrentTurnWithMatchData:data completionHandler:^(NSError *error) {
  if (error)
  { }];
如果仍然轮到该用户,则可以使用上述代码,但如果不是轮到该用户,该怎么办?如何在两个玩家之间发送数据?

试试这个

- (void) advanceTurn

{

    NSData *updatedMatchData = [this.gameData encodeMatchData];

    NSArray *sortedPlayerOrder = [this.gameData encodePlayerOrder];

    this.MyMatch.message = [this.gameData matchAppropriateMessage];

    [this.myMatch endTurnWithNextParticipants: sortedPlayerOrder turnTimeOut: GKTurnTimeoutDefault

                  matchData: updatedMatchData completionHandler ^(NSError *error) {

        if (error)

        {

            // Handle the error.

        }

      }];

}

从iOS 6.0开始,您不能:(

  • 您可以保存比赛数据而无需推进回合(假设您是 当前播放器)。请参阅-
    saveCurrentTurnWithMatchData:completionHandler:
  • 您可以不按顺序结束游戏。请参见-
    参与者退出退出,退出结果:withCompletionHandler:
  • 但是,不能依次更新匹配数据

谢谢您的回复!但我想知道,如果不是用户的,我如何发送消息(因此我不会搞乱轮次)。我已经搜索了一段时间,没有答案,所以我想我需要在GameCenter之外处理它。不过,谢谢您!