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

Bea*_*red 16 iphone gamekit ipad ios game-center

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

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

一切似乎都运作良好.如果用户在应用程序启动时未登录GC,应用程序将显示一个对话框,为其提供三个选项...

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

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

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

提前感谢您的智慧!

Bea*_*red 32

事实证明这是苹果无证件的行为.

用户连续3次取消后,他必须转到Game Center应用程序并从那里连接.

去搞清楚.

  • 如果您需要登录沙盒帐户,而Game Center应用程序没有为您提供该选项,那么解决方案是什么?我可能处于类似的情况,除了我在应用程序中尝试进行身份验证时看到"nil"错误.没有模态登录对话框,没有. (3认同)