objective-c - GKTurnBasedMatch 参与者不正确/重复

标签 objective-c ios7 gamekit gkturnbasedmatch

我正在开发一款回合制 GameCenter 游戏。 GKTurnBasedMatch 使用 GKMatchRequest 创建,minPlayersmaxPlayers 设置为 2。我得到一个 NSInvalidArgumentException 在尝试使用 endMatchInTurnWithMatchData 结束游戏时,告诉我我没有为所有参与者设置 matchOutcome。在此之前匹配对象的日志显示我的匹配看起来像这样:

<GKTurnBasedMatch 0x1c1f2af0 - matchID:c9de6e47-0e9a-4dbe-944b-d2fd4ecd3044 bundleID:com.mybundle.wd status:GKTurnBasedMatchStatusEnded message:'Game Over' creationDate:2013-10-08 01:26:12 +0000 currentParticipant:(null) participants:
<GKTurnBasedParticipant 0x1c184820 - playerID:G:128458444 (local player) status:Done matchOutcome:Lost lastTurnDate:2013-10-10 21:54:22 +0000 timeoutDate:(null)>,
<GKTurnBasedParticipant 0x1c1b0a80 - playerID:G:220673962 status:Done matchOutcome:Lost lastTurnDate:2013-10-10 18:26:16 +0000 timeoutDate:(null)>,
<GKTurnBasedParticipant 0x16ef1610 - playerID:G:128458444 (local player) status:Active matchOutcome:None lastTurnDate:(null) timeoutDate:(null)>,
<GKTurnBasedParticipant 0x16ec64f0 - playerID:(null) status:Matching matchOutcome:None lastTurnDate:(null) timeoutDate:(null)> matchData.length:871 matchDataMaximumSize:65536 exchanges:(null)>

我这里有 2 个以上的 GKTurnBasedParticipants,其中两个是同一个玩家!除了每回合调用以下命令外,我在游戏中没有做任何特别的事情:

[match endTurnWithNextParticipants:@[nextParticipant] turnTimeout:GKTurnTimeoutDefault matchData:data completionHandler:^(NSError *error){...}]

有人知道这里发生了什么吗?这是一款双人游戏,我怎么会得到一个乱七八糟的匹配对象,我该如何防止这种情况发生?

最佳答案

我执行以下操作来结束游戏

        ((GKTurnBasedParticipant*)[currentMatch.participants objectAtIndex:1]).matchOutcome = GKTurnBasedMatchOutcomeWon;
        ((GKTurnBasedParticipant*)[currentMatch.participants objectAtIndex:0]).matchOutcome = GKTurnBasedMatchOutcomeLost;

然后我打电话

[currentMatch endMatchInTurnWithMatchData:data completionHandler:^(NSError *error)
{
         if (error)
         {
             NSLog(@"%@", error);
         }
         else{


         }
     }];

关于objective-c - GKTurnBasedMatch 参与者不正确/重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307171/

相关文章:

ios - View Controller 在 iOS 7 中不旋转

iOS 回合制与实时多人游戏连接选项

ios - GKTurnBasedMatchmaker 是如何使用的?

objective-c - 使用游戏中心发送和接收字符串

iphone - 核心数据: Errors vs Exceptions Part 2

iphone - UIButton backgroundImage stretchableImageWithLeftCapWidth :topCapHeight issue

iphone - 从 NSDateComponents 获取 MAX_INT

ios - 如何在非ARC模式下手动释放此静态变量

iOS:我可以从一个 block 中执行一个方法吗?或者这是不正确的?

ios7 - 隐藏导航栏移动 View "up"