用户取消ios9后重新启用GameCenter

时间:2016-01-14 05:51:48

标签: ios iphone game-center

我正在尝试使用以下代码登录游戏中心: -

 [[GKLocalPlayer localPlayer]   authenticateWithCompletionHandler:^(NSError *error)
 {
     if (error == nil)
     {
         NSLog(@"Authentication Successful");
     }

     else
     {
         NSLog(@"Authentication Failed");
     }
 }];

: - 首先它会打开游戏中心,但是当用户按下取消按钮并再次出现时,游戏中心屏幕没有打开并显示以下错误“请求的操作已被用户取消或禁用”。

请在发生这种情况时提出建议以及纠正方法。

1 个答案:

答案 0 :(得分:1)

无论您是使用原始帖子中的弃用方法还是当前首选机制(截至撰写本文时),

[[GKLocalPlayer localPlayer] setAuthenticateHandler:^(UIViewController *loginViewController, NSError *error)
{

}];

你只有一次认证。如果您稍后再次尝试设置身份验证处理程序,则登录屏幕将不会再次出现。这些链接更多地讨论了这个问题:

杀死应用程序(不只是切换,但实际关闭应用程序)并重新启动它将导致在您尝试进行身份验证时再次显示登录信息。或者,切换到游戏中心应用程序应该允许用户登录。

所以,在我的应用程序中,我检查错误代码。如果用户取消,处理程序中的error.code将设置为2.当我看到此值时,我禁用所有游戏中心功能,并向用户发出通知,说明他们需要做什么来完成日志记录英寸