在SANDBOX中,iOS游戏中心邀请完全无法工作

3
我正在开发一款多人应用程序,并且我正在使用GKMatchmaker进行开发。但是很不幸,它的.inviteHandler从未被触发,对话框中只显示“失败”。然而,该应用已经可以使用AUTO-MATCH功能。
我进行了一些测试,并确保:
- 登录了两个单独的游戏中心沙盒帐户。 - 测试应用在两台设备上运行(1 iPhone 4S和1 iPad 2)。
它们仍然无法连接。
我尝试启动Doodle Jump(现有的iOS游戏),并使用沙盒帐户进行多人游戏...它们也不起作用。然后我使用我的真实非沙盒帐户登录游戏中心,在那里Doodlejump可以工作,并且邀请被成功接收。
你有任何想法,如何使我的沙盒帐户工作,并收到游戏中心的邀请吗?

我也遇到了同样的问题。当我以3个玩家开始游戏时,如果其中1个玩家断开连接,其他两个玩家也会自动断开连接。我真的不明白为什么会这样。虽然我将最小玩家数设置为2,但仍然无法解决问题。请帮帮我。 - ios developer
3个回答

2
希望这对某些人仍然有用... 在这种情况下,请检查以下两点:
  • 在本地玩家进行身份验证之后,立即设置inviteHandler。
  • 您尝试邀请的玩家在其帐户设置中允许游戏邀请。如果您有两个测试帐户,则可能会忘记将其设置为不允许邀请。在这种情况下,邀请的推送通知甚至不会发送给其他玩家。

你指的是哪些账户设置?在哪里可以修改这些设置? - Drux
设置应用 → 游戏中心 → 游戏邀请 → 允许邀请开关 - Vlas Voloshin
奇怪,我在iOS 6.1.4上找不到设置应用程序→游戏中心的入口。 - Drux
1
糟糕,他们可能在iOS 7中更改了一些内容。在iOS 6上,尝试打开游戏中心,在“我”选项卡上,按下“帐户:<xxx>”按钮→查看帐户。这应该会显示帐户设置。 - Vlas Voloshin
谢谢,可以工作了。(注:在 iOS 6.1.4 的沙盒环境中) - Drux

0
如果以上方法都不起作用,尝试重新启动设备。我创建了两个测试账户,并使用各自的账户登录了两个不同的设备。虽然自动匹配功能正常,但我无法让邀请功能正常工作。重新启动设备可以“注册”它们以接收来自游戏中心的推送通知,这样邀请功能就突然开始正常工作了。

0
如苹果GameKit编程指南所述,签名的分发构建应用程序将使用实时GC环境,而其他所有内容都将使用沙盒。除非您拥有Doodle Jump源代码并构建调试版本以在设备上运行,否则它将无法在沙盒模式下正常工作。
此外,您应确保在验证用户后尽快调用inviteHandler方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接