我正在开发一款带有Game Center集成功能的iPhone游戏。游戏正在构建为Debug(不是发布/发布)。在模拟器上,Game Center始终正确使用沙箱。在iPhone设备本身上,它将使用沙箱进行几天,然后突然决定使用真正的Game Center服务器(这会导致错误,因为我的游戏尚未发布)。现在几天都在避开沙箱了,我讨厌在模拟器上进行测试。任何想法如何一劳永逸地让它在开发过程中使用沙盒?
以下是Game Kit Programming Guide的相关引用:
作为开发人员,您的Game Center帐户可能会登录Sandbox进行测试,或者进入实时环境,但不能同时登录到两者。要更改您登录的帐户,请切换到内置的Game Center应用程序并注销,然后运行任何支持Game Center的应用程序。如果该应用程序已配置用于开发,请输入您的测试帐户信息以登录Sandbox。否则,请输入您的真实帐户信息以登录实时环境。
据我所知,我的应用程序正在使用开发人员配置文件进行配置。构建模式设置为Debug。我已经在设备上注销了Game Center。我也尝试退出商店以获得良好的衡量标准。
答案 0 :(得分:4)
删除应用程序,从Game Center应用程序注销,然后从Xcode重新安装游戏是有帮助的。
以前的版本没有Game Center集成,并且App Store上的该版本已安装在设备上。删除它并从Xcode再次安装显然清除了一些陈旧的缓存信息,并让游戏访问沙盒服务器。
此外,我遵循Apple的文档建议使用单独的测试帐户,但我不认为这有什么帮助。
答案 1 :(得分:2)
Game Center Programming Guide有一个部分描述沙箱环境何时被使用(向下滚动到“测试游戏中心应用程序”)。
那里的表格给人的印象是开发人员构建总是使用Sandbox,但这不是我的经验。然而,根据我的经验,如果我退出游戏中心(使用Game Center应用程序),当我运行我的应用程序(设备与否)时,它会提示我登录Sandbox。我猜这是博士所说的,现在我正在重读它。
答案 2 :(得分:2)
我从备份中恢复了我的iPhone。这具有删除所有配置文件和游戏本身的效果。然后我使用Xcode来安装和运行游戏,沙盒神奇地再次开始工作。我不确定是否需要完全恢复,或者只是删除游戏。我之前尝试删除所有配置文件,但这不起作用。我怀疑在我的情况下恢复可能是必要的。
编辑:这可能是我的想象,但iOS 4.2似乎有点提高了沙箱的稳定性。我注意到,即使在我的设备上的其他发布游戏(其他公司的游戏),该设备似乎也会将我登录到沙盒中。在我退出之前,它似乎永久地让我处于沙盒模式。我还没有做过更多的实验来测试4.2,因为我不愿意再次恢复我的设备。
答案 3 :(得分:2)
刚刚补充说明:重置我的iPhone模拟器后,我认为它没有任何区别,因为登录对话框不包含“*** SANDBOX ***”字符串(尽管我的构建GKTapper样本确实)。当我去创建帐户时,它确认我已连接到沙箱。
答案 4 :(得分:2)
我遇到了同样的问题:沙盒游戏中心处理某些设备,其他人则表示可怕的“此游戏无法被游戏中心识别”消息。 从游戏中心注销 - >删除应用 - >从Xcode解决方案重新安装就可以了。 感谢大家的建议。
答案 5 :(得分:0)