iOS 开发:验证 Game Center 用户的奇怪问题

Posted

技术标签:

【中文标题】iOS 开发:验证 Game Center 用户的奇怪问题【英文标题】:iOS Development: Strange problem with authenticating Game Center user 【发布时间】:2011-01-01 22:11:01 【问题描述】:

我正在构建一个支持 Game Center (GC) 的 iPhone 游戏。当应用启动时,我尝试验证本地播放器...

 if([GKLocalPlayer localPlayer].authenticated == NO)
    
        [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
         
             [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error];
         ];
    

一切似乎都运行良好。如果应用启动时用户没有登录 GC,应用会显示一个对话框,为他们提供三个选项...

    登录现有帐户 创建帐户 取消

这是所需的行为,但在测试时,我单击了“取消”选项,现在每次验证过程都会出错,并出现以下错误“请求的操作已被取消”。即使我删除该应用程序并重新安装它,它仍然会出错,并且该对话框现在永远不会弹出。

有谁知道为什么会发生这种情况或我该如何解决?

提前感谢您的智慧!

【问题讨论】:

【参考方案1】:

事实证明这是苹果未记录的行为。

用户连续按取消键 3 次后,他必须前往 Game Center 应用并从那里连接。

上图。

【讨论】:

感谢您发布此信息!我遇到了同样的问题。 如果您需要登录沙盒帐户,而 Game Center 应用程序没有为您提供该选项,解决方案是什么?我可能处于类似的情况,除了当我尝试在应用程序中进行身份验证时看到 nil 错误。没有模式登录对话框,什么都没有。 只有当您的应用是为调试/临时构建时,您才能在沙盒模式下登录。 AppStore 版本不允许您访问应用程序的 GameCenter 沙盒。

以上是关于iOS 开发:验证 Game Center 用户的奇怪问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 6 Game Center 在身份验证时崩溃

iOS 6 中的 Game Center 出现问题

iOS 8 beta 5 Game Center Sandbox 无法识别我的应用

使用 iOS Game Center Challenge 发送对象?

iOS 6 Game Center authenticateHandler取消后无法登录

iOS 6 Game Center authenticateHandler 取消后无法登录