我在使用 Game Center 时遇到了最奇怪的行为。
我正在与GKTurnBasedMatch朋友们进行回合制比赛。本地播放器的身份验证完美运行。使用GKTurnBasedMatch类方法 loadMatchesWithCompletionHandler:似乎可以明智地返回GKTurnBasedMatch对象。为了发起新的比赛并邀请 Game Center 的朋友,我使用标准的GKTurnBasedMatchmakerViewController.
当我用 来创建比赛时GKTurnBasedMatchmakerViewController,它们会在showExistingMatches属性为时出现YES,供游戏创建者使用。
但是,如果我使用 邀请其他玩家GKTurnBasedMatchmakerViewController,接收玩家永远不会收到邀请。没有 Game Center 推送通知,也没有(除了一次或两次,偶尔)在GKTurnBasedMatchmakerViewController.
奇怪的是,如果发起用户随后通过邀请结束他们创建的游戏,该玩家将收到“游戏结束”游戏中心通知。
使用loadMatchesWithCompletionHandler:,返回matches的对邀请玩家有意义( splayerID中的正确值,participants中GKTurnBasedParticipantStatus的正确值participant),但对于被邀请的玩家根本没有任何显示。
我正在使用两个单独的设备,都肯定登录到 Game Center 的沙盒模式,并且一切都在 iTunes Connect 中设置,等等。两个 Game Center 帐户都设置为接受邀请。
有人见过这样的吗?