我在 iOS 中有一个使用 GameKit 的回合制游戏。通常,我的 Game Center 身份验证有效。我的游戏有效,我可以在一段时间内来回发送动作。但是,当我尝试在 Game Center 上执行某个操作(例如,寻找新的比赛)时,相对频繁但并非经常发生,它会失败并出现以下错误:
Error Domain=GKErrorDomain Code=6 “请求的操作无法完成,因为本地播放器尚未通过身份验证。” UserInfo={NSLocalizedDescription=请求的操作无法完成,因为本地播放器尚未通过身份验证。}
然而,GKLocalPlayer.localPlayer().authenticated = true,无论是在收到错误之前还是之后。收到此错误后,不会显示身份验证视图控制器,并且依赖身份验证的 GameKit 方法停止运行(它们不会恢复活力)。然后,如果我将应用程序发送到后台,然后将其带回前台,则当我重试该操作时错误不会返回(无需输入新的登录名和密码)。
根据这个类似的观察:
GKLocalPlayer 身份验证不起作用,但 isAuthenticated 返回 YES(游戏中心沙盒)
“1.如果您的设备日期不正确,Game Center将无法完成认证。所以,请继续检查当前日期。
- 你可能已经这样做了。我相信你 - iOS 模拟器 >> 重置内容和设置”
我在设备上遇到了这个问题,而不是在模拟器上,排除了#2。有人可以帮我解决#1吗?我在这里可能很天真,但我的 iPhone 和 iPad 有正确的时间和日期。我应该检查和设置什么或其他地方吗?
那么,如果这不是问题,那还有什么问题呢?我正在运行iOS9。