我正在开发一款集成了 Game Center 的游戏。当他们第一次打开游戏时,我会检查他们是否已经获得了 Game Center 的授权。如果没有,我会显示 GC 提供的登录信息。
问题是,如果用户没有被认证,打开应用程序,然后快速点击屏幕开始游戏,GC认证 Controller 会在玩游戏的过程中弹出。
// Login the User
GKLocalPlayer* localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
if ([GKLocalPlayer localPlayer].isAuthenticated) {
// Allow user to start game?
} else if(viewController) {
// Allow user to login to Game Center
[self presentViewController:viewController animated:YES completion:nil];
} else {
// Allow user to start game?
}
};
我知道我只能在他们连接到 GC 的情况下允许玩游戏,但如果他们没有互联网访问权限,或者他们不想使用 GC 怎么办?
这里最好的解决方案是什么?
Best Answer-推荐答案 strong>
查看玩家是否已通过身份验证的测试可能需要几秒钟。您要做的是在您的应用程序中启用状态系统,以便能够检测他们当前是否正在玩游戏,如果是,您会将游戏中心登录推迟到以后,如果不是,您可以显示登录立即控制。
关于ios - 如何在不中断游戏的情况下正确初始化 GameCenter 登录,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22415475/
|