gpt4 book ai didi

ios - GameKit 错误表示玩家未通过身份验证,但 .authenticated 属性 = true

转载 作者:行者123 更新时间:2023-12-01 22:33:21 26 4
gpt4 key购买 nike

我在 iOS 中有一个使用 GameKit 的回合制游戏。通常,我的 Game Center 身份验证有效。我的游戏有效,我可以在一段时间内来回发送 Action 。但是,当我尝试在 Game Center 上执行某个操作(例如,寻找新的比赛)时,相对频繁但并非经常发生,它失败并出现错误:

错误域=GKErrorDomain 代码=6 “请求的操作无法完成,因为本地播放器尚未经过身份验证。” UserInfo={NSLocalizedDescription=请求的操作无法完成,因为本地播放器尚未通过身份验证。}

然而,GKLocalPlayer.localPlayer().authenticated = true,无论是在收到错误之前还是之后。收到此错误后,不会显示身份验证 View Controller ,并且依赖身份验证的 GameKit 方法停止运行(它们不会恢复活力)。然后,如果我将应用程序发送到后台,然后将其带回前台,则当我重试操作时错误不会返回(无需输入新的登录名和密码)。

根据这个类似的观察:

GKLocalPlayer authentication not working, but isAuthenticated returns YES (Game Center sandbox)

“1.如果您的设备日期不正确,Game Center将无法完成认证。所以,请继续检查当前日期。

  • 你可能已经这样做了。我相信你 - iOS 模拟器 >> 重置内容和设置”

  • 我在设备上遇到了这个问题,而不是在模拟器上,排除了#2。有人可以帮我解决#1吗?我在这里可能很天真,但我的 iPhone 和 iPad 有正确的时间和日期。我应该检查和设置什么或其他地方吗?

    那么,如果这不是问题,那还有什么问题呢?我正在运行iOS9。

    最佳答案

    我也看到了这个,并且对 Apple 有一个开放的错误。就我而言,我正在使用多个物理设备进行测试,并且只有其中一个设备遇到过这种情况。在该特定设备上,我使用个人帐户登录 iTunes,但使用测试帐户登录游戏中心。

    据我所见,当设备对 使用相同的登录名时iTunes , iCloud 游戏中心 , 没有问题。但是,当我尝试混合和匹配帐户以进行我需要做的任何测试时,我随机得到错误 6。

    除了让用户重新登录游戏中心外,似乎没有任何办法可以从中恢复。当然,没有办法再次显示登录 View Controller ,所以唯一的选择是让用户离开游戏,将其关闭,然后重新启动(重新启动游戏中心身份验证过程)。我现在捕获错误,给用户一条消息说 Game Center 已将他们注销,并解释他们需要做些什么。

    但正如我所说,当我停止在设备上混淆凭据时,问题就消失了。

    顺便说一句,在一个稍微相关的话题上,我开始认为 .authenticated 属性完全不可靠。在您实际上没有连接到 Game Center 的情况下,这将是 TRUE。我也为此打开了一个错误。苹果关闭它说这是通过使用“缓存”数据按预期工作的。因此,它会在未通过身份验证时报告已通过身份验证,并且仅允许您访问之前保存在本地的过时比赛和排行榜数据。

    关于ios - GameKit 错误表示玩家未通过身份验证,但 .authenticated 属性 = true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059721/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com