我无法弄清楚如何使用 Game Center 的 GKMatch 类以一种好的方式重新邀请断开连接的玩家。这场比赛是 1 对 1 的比赛。
当我检测到断开连接的玩家时,我会尝试通过以下调用重新邀请该特定玩家参加比赛:
[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)
这按预期工作。当其他玩家建立连接后,他会被重新邀请,比赛可以继续。但这留下了一个我无法解决的问题。场景来了:
- 玩家 1 断开连接。
- 玩家 2 离开比赛,而玩家 1 断开连接。
- 播放器 1 重新连接并检测到他与播放器 2 失去连接并尝试重新连接到播放器 2。
- 玩家 2 正在寻找新的比赛,他正在使用 matchmakerViewController。
- 玩家 2 突然加入了与他离开的玩家 1 的旧比赛。
所以我的问题是 matchmakerViewController 让玩家重新邀请他们加入旧比赛。有没有更好的方法来处理这种重新连接的情况,这样人们就不会被邀请回到旧比赛?