1

我有一个使用 Game Center 的简单 iOS 应用程序。但是最近在将其更新到 iOS 7 时,我注意到验证方法不起作用。

问题之一是我用来向用户展示视图控制器的代码,如果他们需要登录游戏中心,它不再在应用程序中弹出游戏中心登录窗口。

我遇到的另一个问题是我找不到使用什么方法来代替已弃用的“authenticateWithCompletionHandler”。

这是我的代码:

-(void)authenticateLocalUser {

GKLocalPlayer.localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {

    if (GKLocalPlayer.localPlayer.authenticated) {
        // Already authenticated
    }

    else if (viewController) {
        [self presentViewController:viewController animated:YES completion:nil];
    }

    else {
        // Problem with authentication, probably bc the user doesn't use Game Center.
    } 
};

if ([GKLocalPlayer localPlayer].authenticated == NO) {

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

谢谢你的时间,丹。

4

1 回答 1

1

不管我最终设法弄清楚了。至于'authenticateWithCompletionHandler',我使用了这个:

[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];
于 2014-06-01T11:29:34.627 回答