Ios 游戏中心沙箱中缺少邀请
我在游戏中心经历了最奇怪的行为 我正在与Ios 游戏中心沙箱中缺少邀请,ios,objective-c,cocoa,game-center,gamekit,Ios,Objective C,Cocoa,Game Center,Gamekit,我在游戏中心经历了最奇怪的行为 我正在与GKTurnBasedMatch和朋友建立基于回合的比赛。本地播放器的身份验证工作得很好。使用GKTurnBasedMatch类方法loadMatchesWithCompletionHandler:似乎可以明智地返回GKTurnBasedMatch对象。为了发起新的比赛并邀请游戏中心的朋友,我使用标准的GKTurnBasedMatchmakerViewController 当我使用GKTurnBasedMatchmakerViewController创建匹
GKTurnBasedMatch
和朋友建立基于回合的比赛。本地播放器的身份验证工作得很好。使用GKTurnBasedMatch
类方法loadMatchesWithCompletionHandler:
似乎可以明智地返回GKTurnBasedMatch
对象。为了发起新的比赛并邀请游戏中心的朋友,我使用标准的GKTurnBasedMatchmakerViewController
当我使用GKTurnBasedMatchmakerViewController
创建匹配时,当游戏创建者的showExistingMatches
属性为YES
时,它们会显示在那里
但是,如果我使用GKTurnBasedMatchmakerViewController
邀请另一个玩家,则接收玩家永远不会收到邀请。没有游戏中心推送通知,并且在GKTurnBasedMatchmakerViewController
中没有(除了一次或两次,偶尔)带有“邀请”标题的游戏
奇怪的是,如果发起用户随后以邀请结束他们创建的游戏,该玩家将收到“游戏结束”游戏中心通知
使用loadMatchesWithCompletionHandler:
,返回的匹配对邀请玩家有意义(在参与者
s中更正playerID
值,在参与者
s中更正GKTurnBasedParticipantStatus
),但对于邀请的玩家没有显示任何内容
我使用的是两个独立的设备,它们都明确地登录到游戏中心的沙箱模式,所有的东西都在iTunes Connect中设置,等等。两个游戏中心帐户都设置为接受邀请
有人见过这样的情况吗?可能的解决方案:当邀请者第一次移动时,发送了消息endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:
,我没有在第一个参数中发送正确的参与者,因此,该回合从未设置为受邀者的回合。您是否订阅了gkturnbasedeventhandler代表
?我不确定这是否是您的问题,因为我认为这方面的代理消息是从GameCenter应用程序本身启动的。只是另一个需要注意的边缘案例。好建议。我的问题是在处理任何事情之前。来自游戏中心的推送通知没有出现,这是奇怪的部分。我想我已经解决了这个问题(见答案)。现在要做的工作是确保当他们来时,他们被gkturnbasedeventhandlerregate
和其他人正确处理。