为什么match.rematch在Game Center对等游戏中返回0个玩家?

时间:2019-01-14 02:22:29

标签: ios gamekit

有一个[similar question from '12] 1,但它是一个逐个游戏(可能有所不同),没有得到解决,并且自从以来Game Center / GameKit可能发生了变化他们。

一个简单的案例是iOS上有两个播放器,都点击执行该代码的按钮(currentMatch是类属性GKMatch?):

    if let match = currentMatch {
        print("create rematch completion handler")
        match.rematch(completionHandler: {(newMatch, error) in
            print("execute rematch completion handler")
            if let error = error {
                print(error)
            }
            if let newMatch = newMatch {
                print("rematch completed \(newMatch.players.count)")
                self.currentMatch = newMatch
            }
        })
    }

日志返回:

create rematch completion handler
match did change state ‎“‪Player2” 2
disconnected from ‎“‪Player2”
execute rematch completion handler
rematch completed 0

因此,GameKit自行断开了玩家的连接,执行了完成处理程序,似乎正在与0位玩家进行新的比赛。

关于如何与原始玩家重新比赛有何建议?有人做过这项工作吗?谢谢。

0 个答案:

没有答案