我正在使用苹果游戏中心在游戏开始时签署玩家,问题是我刚刚点击取消(最终测试),现在对话框将不再出现,它只是继续直奔残疾人。
这是我正在使用的功能。
-(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实际上并没有做任何事情。
为什么每次我运行它都会禁用它? (使用模拟器)我怎样才能解决这个问题,以便再次出现对话?我是否必须手动强制对话以某种方式再次出现?
答案 0 :(得分:0)
在你"取消"之后,我在OSX下遇到了类似的问题。 Gamecenter对话框几次,它停止出现。
要取回它,运行"游戏中心",登录和退出 - 然后再次运行游戏,对话框将再次出现(它至少可以运行几次,直到你'经常取消)。