我遇到了 Game Center 最奇怪的行为。
我正在与 GKTurnBasedMatch
和 friend 一起设置回合制比赛。本地播放器的身份验证工作完美。使用 GKTurnBasedMatch
类方法 loadMatchesWithCompletionHandler:
似乎明智地返回了 GKTurnBasedMatch
对象。为了发起新的比赛并邀请 Game Center 好友,我使用了标准的 GKTurnBasedMatchmakerViewController
。
当我使用 GKTurnBasedMatchmakerViewController
创建匹配项时,当游戏创建者的 showExistingMatches
属性为 YES
时,它们会显示在那里。
但是,如果我使用 GKTurnBasedMatchmakerViewController
邀请另一个玩家,接收玩家永远不会收到邀请。在 GKTurnBasedMatchmakerViewController
中没有 Game Center 推送通知,也没有(除了一两次,偶尔)带有“Invited”标题的游戏。
奇怪的是,如果发起用户随后通过邀请结束他们创建的游戏,该玩家将收到“游戏结束”Game Center 通知。
使用 loadMatchesWithCompletionHandler:
,返回的 matches
对邀请玩家有意义(正确的 playerID
值在 participant
s,正确的 GKTurnBasedParticipantStatus
在 participant
s 上),但对于被邀请的玩家,什么都没有显示。
我正在使用两台不同的设备,两台设备都已登录到 Game Center 的沙盒模式,并且一切都已在 iTunes Connect 等中进行了设置。两个 Game Center 帐户都设置为接受邀请。
有人见过这样的东西吗?
最佳答案
可能的解决方案:当邀请者迈出第一步并发送消息 endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:
时,我没有在第一个参数中发送正确的参与者,所以从来没有将轮到被邀请者。
关于ios - Game Center Sandbox 中缺少邀请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14721333/