4

我在使用 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 帐户都设置为接受邀请。

有人见过这样的吗?

4

1 回答 1

2

可能的解决方案:当邀请者迈出第一步并endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:发送消息时,我没有在第一个参数中发送正确的参与者,因此轮到从未设置为被邀请者。

于 2013-02-06T04:22:37.863 回答