ios - Game Center Sandbox 中缺少邀请

标签 ios objective-c cocoa game-center gamekit

我遇到了 Game Center 最奇怪的行为。

我正在与 GKTurnBasedMatch 和 friend 一起设置回合制比赛。本地播放器的身份验证工作完美。使用 GKTurnBasedMatch 类方法 loadMatchesWithCompletionHandler: 似乎明智地返回了 GKTurnBasedMatch 对象。为了发起新的比赛并邀请 Game Center 好友,我使用了标准的 GKTurnBasedMatchmakerViewController

当我使用 GKTurnBasedMatchmakerViewController 创建匹配项时,当游戏创建者的 showExistingMatches 属性为 YES 时,它们会显示在那里。

但是,如果我使用 GKTurnBasedMatchmakerViewController 邀请另一个玩家,接收玩家永远不会收到邀请。在 GKTurnBasedMatchmakerViewController 中没有 Game Center 推送通知,也没有(除了一两次,偶尔)带有“Invited”标题的游戏。

奇怪的是,如果发起用户随后通过邀请结束他们创建的游戏,该玩家将收到“游戏结束”Game Center 通知。

使用 loadMatchesWithCompletionHandler:,返回的 matches 对邀请玩家有意义(正确的 playerID 值在 participants,正确的 GKTurnBasedParticipantStatusparticipants 上),但对于被邀请的玩家,什么都没有显示。

我正在使用两台不同的设备,两台设备都已登录到 Game Center 的沙盒模式,并且一切都已在 iTunes Connect 等中进行了设置。两个 Game Center 帐户都设置为接受邀请。

有人见过这样的东西吗?

最佳答案

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

关于ios - Game Center Sandbox 中缺少邀请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14721333/

相关文章:

ios - React Native AsyncStorage 存储字符串以外的值

iphone - 检测 UITextField 失去焦点

cocoa - 显示与 setNeedsDisplay

xcode - 当其父 NSCollectionView 更改大小时更新 NSCollectionViewItem 的大小

ios - Swift:在等待信号量时显示 UIAlert

ios - 如何在 Lottie iOS 中使用 png 图像?

iphone - ios safari 不会在 svg 文件中显示 font-face 嵌入字体。任何修复?

objective-c - 自动引用计数 (ARC) 说调用 [super dealloc] 是被禁止的……有什么选择?

iphone - 将 uint8_t 数组转换为 NSString

objective-c - 适用于 Mac 的类似 ShareKit 的框架