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