16

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

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

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

  1. 登录现有帐户
  2. 创建一个帐户
  3. 取消

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

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

提前感谢您的智慧!

4

1 回答 1

32

事实证明,这是苹果无证行为。

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

去搞清楚。

于 2011-01-01T22:27:01.437 回答