我遇到了Game Center最奇怪的行为。
我正在与GKTurnBasedMatch
和朋友设置回合制匹配。本地播放器的身份验证工作完美。使用GKTurnBasedMatch
类方法loadMatchesWithCompletionHandler:
似乎明智地返回GKTurnBasedMatch
个对象。要发起新的匹配并邀请游戏中心的朋友,我使用标准GKTurnBasedMatchmakerViewController
。
当我与GKTurnBasedMatchmakerViewController
创建匹配时,对于游戏创建者,当showExistingMatches
属性为YES
时,它们会显示在那里。
但是,如果我使用GKTurnBasedMatchmakerViewController
邀请其他玩家,则接收播放器永远不会收到邀请。没有游戏中心推送通知,没有(除了一次或两次,偶尔)GKTurnBasedMatchmakerViewController
中带有“邀请”标题的游戏。
奇怪的是,如果发起用户随后结束了他们使用邀请创建的游戏,该玩家将收到“Game Over”游戏中心通知。
使用loadMatchesWithCompletionHandler:
,返回的matches
对邀请播放器有意义(playerID
中的participant
值更正,GKTurnBasedParticipantStatus
更正participant
1}} s),但对于受邀玩家来说根本没有任何显示。
我正在使用两个独立的设备,两者都明确登录到Game Center的Sandbox模式,并且所有内容都在iTunes Connect中设置等。两个Game Center帐户都设置为接受邀请。
有人见过这样的事吗?
答案 0 :(得分:2)
可能的解决方案:当邀请者第一次移动,并且发送了消息endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:
时,我没有在第一个参数中发送正确的参与者,因此转弯从未被设置为被邀请者。