与特定对手

时间:2015-06-28 22:39:46

标签: ios iphone swift game-center

我正在使用游戏中心创建一个回合制游戏。 这是一对一游戏,因此每个游戏都有两个参与者。

当游戏结束时,会出现一个游戏切换屏幕,任何一个参与者都可以按“重新匹配”以开始与同一个对手的新游戏。

按下按钮时使用的代码是(简化):

let request = GKMatchRequest()
        request.maxPlayers = 2
        request.minPlayers = 2
        request.recipients = [opponent]

GKTurnBasedMatch.findMatchForRequest(request, withCompletionHandler: {
            match, error in
            if error != nil {
                println("FIND MATCH REQUEST ERROR:\(error.localizedDescription)")
            } else {
                println("Match Found")}})

现在,我的问题是这个。当我在游戏中心重新组合对手是我的朋友的游戏时,一切似乎都运行正常。但是,如果我在游戏中心重新组合对手不是我的朋友的游戏,我会收到以下错误:

  

由于播放器无效,无法完成请求的操作。

然而,当我打印对手玩家(GKPlayer)时,我得到以下内容(这似乎没错,并且没有错误,如错误所示):

  

(playerID:g:58D9E388A2CD0DEFC795DC9035E7D22A别名:TestBoomar_1名称:“TestBoomar_1”状态:( null))

所以,我的问题是:GKMatchRequest收件人必须是玩家朋友才能使这些收件人有效吗?收件人不应该成为Gamecenter中的任何玩家,不依赖于他们是否是游戏创建者的朋友?

赞赏任何意见, 谢谢!

0 个答案:

没有答案