我正在使用Apples Game Center在游戏开始时登录玩家,问题是我只是单击了cancel(以测试最终),现在对话框不再显示了,它一直在继续通过禁用。
这是我正在使用的功能。
-(void) setup
{
gameCenterAuthenticationComplete = NO;
if (!isGameCenterAPIAvailable()) {
// Game Center is not available.
NSLog(@"Game Center is not available.");
} else {
NSLog(@"Game Center is available.");
__weak typeof(self) weakSelf = self; // removes retain cycle error
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; // localPlayer is the public GKLocalPlayer
__weak GKLocalPlayer *weakPlayer = localPlayer; // removes retain cycle error
weakPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
{
if (viewController != nil)
{
NSLog(@"Try to show ViewController");
[weakSelf showAuthenticationDialogWhenReasonable:viewController];
}
else if (weakPlayer.isAuthenticated)
{
NSLog(@"authenticate player");
[weakSelf authenticatedPlayer:weakPlayer];
}
else
{
NSLog(@"disable");
[weakSelf disableGameCenter];
}
};
}
}
-(void)disableGameCenter
{
}
如您所见,disableGameCenter实际上并不会做任何事情。
为什么每次我现在运行它都会禁用它? (与模拟器一起使用),如何从中获得答案,使对话框再次出现?我是否必须手动强制对话以某种方式再次出现?
最佳答案
在OSX下,我有一个类似的问题,在您“取消” Gamecenter对话框几次后,它停止出现。
要取回它,请运行“游戏中心”,登录并注销-然后再次运行您的游戏,对话框将再次出现(它至少运行了几次,直到您“取消”太多时间)。
关于ios - 游戏中心登录对话框未出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19844465/