Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在游戏中心重新连接玩家_Iphone_Objective C_Ios_Game Center_Gamekit - Fatal编程技术网

Iphone 在游戏中心重新连接玩家

Iphone 在游戏中心重新连接玩家,iphone,objective-c,ios,game-center,gamekit,Iphone,Objective C,Ios,Game Center,Gamekit,我不知道如何用一种好的方式重新邀请一个断开连接的玩家,使用游戏中心的GKMatch类。这是一场1对1的比赛 当我检测到断开连接的玩家时,我会尝试通过此呼叫重新邀请该特定玩家参加比赛: [[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error) 这是它应该做的。当另一名球员建立了联系后,他将被重新邀请,比赛可以继续。但这留下

我不知道如何用一种好的方式重新邀请一个断开连接的玩家,使用游戏中心的GKMatch类。这是一场1对1的比赛

当我检测到断开连接的玩家时,我会尝试通过此呼叫重新邀请该特定玩家参加比赛:

[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)
这是它应该做的。当另一名球员建立了联系后,他将被重新邀请,比赛可以继续。但这留下了一个我无法解决的问题。下面是一个场景:

  • 播放器1断开连接
  • 当玩家1断开连接时,玩家2离开比赛
  • 玩家1重新连接并检测到他与玩家2失去连接,并尝试重新连接到玩家2
  • 玩家2正在寻找一场新的比赛,他正在用matchmakerViewController进行
  • 球员2突然加入了他离开的球员1的旧比赛

所以我的问题是matchmakerViewController允许玩家在再次被邀请时加入旧的比赛。有没有更好的方法来处理这种重新连接的情况,这样人们就不会被邀请回到旧的比赛中?

如果我检测到玩家2使用了退出功能,而不是在断开连接时超时,我会继续阻止玩家1在同一场比赛中再次邀请。

您可以为仍然连接的玩家提供一个选项,重新邀请或退出。如果其他玩家离开,您也可以删除对该玩家的配对请求。

我的问题是重新开始。玩家1重新邀请玩家2,而玩家2正在寻找新游戏。这是一个问题,因为玩家2将被重新邀请参加他离开的比赛。如果其他玩家离开,我无法删除配对请求,因为我不知道他什么时候离开。他们此时未连接,无法判断玩家是否离开。玩家1如何知道玩家2已断开连接?@Cupcake。在我的代码中,当1玩家断开连接时,其他玩家会自动断开与游戏的连接。是吗?如何通过玩家2设置diconnect避免玩家1断开连接