Sto lavorando al gioco che utilizza Game Center e ricevo il prossimo avviso;authenticateWithCompletionHandler: obsoleto: prima deprecato in iOS 6.0
... 'authenticateWithCompletionHandler:' è deprecato: prima obsoleta in iOS 6.0
Ok, ho cercato e scoperto che non v'è nuovo codice per l'autenticazione utente locale così ho sostituito
vecchio codice :
- (void)authenticateLocalUser {
if (!gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if ([GKLocalPlayer localPlayer].authenticated == NO) {
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:nil];
} else {
NSLog(@"Already authenticated!");
}
}
con quella nuova:
- (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!");
}
}
e tutto è ok tranne una cosa. Se l'utente non ha effettuato l'accesso, non c'è un modulo di accesso al Game Center. Con il vecchio codice mostra il modulo di login di Game Center se l'utente non ha effettuato il login.
c'è qualche codice aggiuntivo che devo inserire o qualcos'altro?
informazioni Extra: - modalità orizzontale - destinazione della distribuzione: 6,0
ottengo questo errore: Warning: tentativo di presentare
CroiOS
Ulteriori informazioni: - modalità orizzontale - obiettivo di distribuzione: 6.0 – CroiOS
dove viene chiamato il codice di autenticazione? –