如何确保我的iPhone应用程序使用Game Center沙盒?

11

我正在开发一个带有Game Center集成的iPhone游戏。游戏正在以Debug(而不是发布/分发)构建。在模拟器上,Game Center始终正确使用沙盒。但是,在iPhone设备本身上,它会使用几天沙盒,然后突然决定使用真正的Game Center服务器(这会导致错误,因为我的游戏尚未发布)。它已经几天没有使用沙盒了,而我不喜欢在模拟器上测试。您有什么办法让它在开发过程中始终使用沙盒?

下面是来自Game Kit编程指南的相关引用:

作为开发人员,您的Game Center帐户可以登录Sandbox进行测试或只登录到实际环境中,但不能同时进行。要更改登录的帐户,请切换到内置的Game Center应用并注销,然后运行任何启用Game Center的应用。如果该应用程序是针对开发进行配置的,则输入测试帐户信息以登录沙盒。否则,输入您的实际帐户信息以登录到实际环境中。

据我所知,我的应用正在使用开发人员配置文件进行配置。构建模式设置为Debug。我已在设备上退出了Game Center。我还尝试退出商店以作为补救措施。


我猜想这是应用程序签名所使用的配置文件。 - tc.
那会对它有什么影响呢?配置文件只是可接受设备和包标识符的列表。我是否在这里漏掉了一些明显的东西? - Jeremy Fuller
我尝试了答案中列出的所有解决方案,但仍然遇到同样的问题。非常奇怪。 - Tim Arnold
6个回答

4

删除应用程序,从游戏中心应用程序注销,然后从Xcode重新安装游戏是解决问题的方法。

之前的版本没有Game Center集成,在设备上安装了来自App Store的那个版本。从Xcode删除并重新安装似乎清除了一些陈旧的缓存信息,并使游戏能够访问沙盒服务器。

此外,我遵循了Apple文档中的建议使用单独的测试帐户,尽管我认为这并没有起到帮助作用。


2

我有一个简短的注释要添加:在重置我的iPhone模拟器后,我认为它没有发生任何变化,因为登录对话框没有包含“***SANDBOX***”字符串(尽管GKTapper示例的构建包含该字符串)。然而,当我尝试创建一个账户时,它确认我已连接到沙盒。


2
游戏中心编程指南有一节描述沙盒环境的使用情况(请滚动到“测试游戏中心应用程序”)。在那里的表格给人的印象是开发者构建始终使用沙盒,但这并不完全符合我的经验。然而,我的经验是,如果我已退出游戏中心(使用游戏中心应用程序),当我运行我的应用程序(设备或无设备)时,它会提示我登录到沙盒。我想这就是文档所说的,现在我重新阅读它。

我肯定使用Game Center应用程序退出了Game Center。我已经反复阅读了文档,寻找线索,但仍未能解决问题。 - Jeremy Fuller

2
我从备份中恢复了我的iPhone。这样做会导致所有的配置文件和游戏本身被删除。然后我使用Xcode安装并运行了这个游戏,沙盒神奇般地重新开始工作了。我不确定是否需要完全恢复,或者只是删除游戏就可以了。我之前尝试过删除所有的配置文件,但是那样做并没有起作用。我怀疑在我的情况下恢复可能是必要的。
编辑:也许是我的想象,但iOS 4.2似乎在一定程度上提高了沙盒的稳定性。我注意到设备似乎会在其他公司发布的游戏上登录sandbox,而且会永久保持我处于sandbox模式,直到我退出登录。我没有再进行更多的实验来测试4.2版本,因为如果它停止工作,我很不愿意再次恢复我的设备。

2

我遇到了同样的问题:沙盒游戏中心在一些设备上运行正常,而其他设备则显示“此游戏未被游戏中心识别”的可怕消息。 从游戏中心注销->删除应用程序->从Xcode重新安装的解决方案解决了问题。 感谢大家的建议。


0
从iOS 8开始,沙盒必须在您的手机上手动设置。您必须在“设置”->“游戏中心”中标记并打开“沙盒”,否则它将无法正常工作,并且使用调试证书时,游戏中心登录将不会成功。

enter image description here


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