Game Center身份验证错误

时间:2010-12-08 10:16:08

标签: objective-c cocoa-touch game-center

我正在尝试调用游戏中心的身份验证方法,但是没有出现身份验证屏幕,并且回调返回错误:“请求的操作已被取消”。

代码:

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
     {
        NSDictionary *userInfo = nil;
        if (error == nil) {

            NSLog(@"Game Center successfully authenticated");
        }
        else {
            userInfo = [NSDictionary dictionaryWithObject:error forKey:@"NSError"];
        }
        [[NSNotificationCenter defaultCenter] postNotificationName:Notification
                                                            object:self
                                                          userInfo:userInfo];

    }];

知道什么可能导致这个问题吗?

2 个答案:

答案 0 :(得分:17)

在iOS 4.2中,当用户取消登录游戏中心时,3次尝试后返回错误。您可以通过使用Game Center应用程序登录来解决错误,然后再次尝试您的应用程序,您应该会在应用程序中看到来自Game Center的欢迎回复消息

答案 1 :(得分:-1)

在您测试游戏中心在特定设备上是否可用后,您应该执行类似的操作:

GKLocalPlayer *localplayer = [GKLocalPlayer localPlayer];
[localplayer authenticateWithCompletionHandler:^(NSError *error) {
    if (error) {
        //DISABLE GAME CENTER FEATURES / SINGLEPLAYER
    }
    else {
        //ENABLE GAME CENTER FEATURES / MULTIPLAYER
    }
}];