我最近尝试使用新的 iOS 6 方法对 iOS 6 上的本地用户进行身份验证,它在身份验证处理程序中返回 -
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
如何显示此视图控制器?(仅供参考 - 完成本地播放器身份验证后,GC 会自动关闭窗口)
我在项目中使用故事板。
谢谢!
我最近尝试使用新的 iOS 6 方法对 iOS 6 上的本地用户进行身份验证,它在身份验证处理程序中返回 -
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
如何显示此视图控制器?(仅供参考 - 完成本地播放器身份验证后,GC 会自动关闭窗口)
我在项目中使用故事板。
谢谢!
一旦你设置了处理程序,它将在不同的情况下被调用。在这些调用中,viewController 参数可以为 nil,或者它实际上可以是一个实例 GKHostedAuthenticateViewController。
您需要检查 viewController 是否不为零,在这种情况下,您可以像使用任何其他视图控制器一样显示它。
这里有一些来自 Game Center 编程指南的示例代码
- (void) authenticateLocalPlayer
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
if (viewController != nil)
{
[self showAuthenticationDialogWhenReasonable: viewController
}
else if (localPlayer.isAuthenticated)
{
[self authenticatedPlayer: localPlayer];
}
else
{
[self disableGameCenter];
}
}];
}