2013-04-10 61 views
0

得到Game Center身份驗證工作,但當遊戲中心的「歡迎」視圖控制器出現在視圖中時,它不會解僱。點擊取消,發送取消操作,但視圖控制器保持在視圖中。完成用戶登錄,用戶成功登錄但視圖控制器保持不變,創建一個新的appleID,並在完成視圖控制器結束時結束。遊戲中心身份驗證處理程序不會駁回遊戲中心登錄模式視圖控制器

爲什麼Game Center視圖控制器不會關閉?

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; 
    __weak GKLocalPlayer *blockLocalPlayer = localPlayer; 
    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){ 

     if (viewController != nil) { 

      [self.navigationController pushViewController:viewController animated:YES]; 

     } else if (blockLocalPlayer.isAuthenticated) { 

      NSLog(@"Game Center Authenticated"); 
      [self loginUser:blockLocalPlayer]; 

     } else { 

      NSLog(@"Game Center Disabled"); 
      [self loginUser:nil]; 
     } 

     if (error) NSLog(@"Error authenticating Game Center: %@", error); 
    }; 

回答

0

答:

相反的:

[self.navigationController pushViewController:viewController animated:YES]; 

應該使用:

[self presentViewController:viewController animated:YES completion:^{}];