2013-01-20 30 views
7

Oyun Merkezi'ni kullanan oyun üzerinde çalışıyorum ve bir sonraki uyarıyı aldım; authenticateWithCompletionHandler: kullanımdan kaldırıldı: iOS 6.0'da ilk kullanımdan kaldırıldı

... 'authenticateWithCompletionHandler:' itiraz edildi: İlk iOS'taki 6.0

Tamam kullanımdan kaldırıldı, ben arandı ve bu yüzden

eski kod yerini authenticate Yerel Kullanıcı için yeni kod olduğunu öğrendim : yenisi ile

- (void)authenticateLocalUser { 

    if (!gameCenterAvailable) return; 

    NSLog(@"Authenticating local user..."); 
    if ([GKLocalPlayer localPlayer].authenticated == NO) { 
     [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:nil]; 
    } else { 
     NSLog(@"Already authenticated!"); 
    } 
} 

:

- (void)authenticateLocalUser { 

    if (!gameCenterAvailable) return; 

    NSLog(@"Authenticating local user..."); 

    if ([GKLocalPlayer localPlayer].authenticated == NO) { 

     GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; 
     [localPlayer setAuthenticateHandler:(^(UIViewController* viewcontroller, NSError *error) { 
     //[localPlayer authenticateWithCompletionHandler:^(NSError *error) { OLD CODE! 
      if(localPlayer.isAuthenticated) { 
       //do some stuff 
      }else { 
       // not logged in 
      } 
     })]; 
    } else { 
     NSLog(@"Already authenticated!"); 
    } 
} 

ve her şey bir şey hariç tamam. Kullanıcı giriş yapmamışsa, Oyun Merkezi giriş formu yoktur. Eski kod ile kullanıcı oturum açmadıysa Game Center giriş formunu gösterir.

Eklenmesi gereken başka bir kod var mı?

Ekstra bilgi: - yatay mod - dağıtım hedefi: 6.0

cevap

10

Evet, el iOS6 ile giriş formunu sunmak zorundasın, bu size ekran sunmayı zamanları daha fazla kontrol sağlar. Uyarı: girişimi sunmak

localPlayer.authenticateHandler = ^(UIViewController *viewController,NSError *error) { 
if (localPlayer.authenticated) { 
//already authenticated 
} else if(viewController) { 
[self presentViewController:viewController];//present the login form 
} else { 
//problem with authentication,probably bc the user doesn't use Game Center 
} 
}; 
+0

dene üzerinde CroiOS

+0

Ek bilgi: - manzara modu - dağıtım hedefi: 6.0 – CroiOS

+0

kimlik doğrulama kodu nerede aranıyor? –

İlgili konular