2010-09-18 2 views
6

J'essaye d'authentifier un GKLocalPlayer avec Game Center. Cependant, le code fourni par AppleAuthentification de GKLocalPlayer avec Game Center

- (void) authenticateLocalPlayer 
{ 
    [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) { 
     if (error == nil) 
     { 
       // Insert code here to handle a successful authentication. 
       NSLog(@"Logged in."); 
     } 
     else 
     { 
      // Your application can process the error parameter to report the error to the player. 
      NSLog(@"%@", [error description]); 
     } 
    }]; 
} 

ne semble pas faire l'affaire pour moi. Je reçois toujours une alerte "Impossible de se connecter au serveur Game Center". avec l'option "Réessayer" ou "Annuler". Aucune des instructions NSLog n'est exécutée, donc je suppose que le completionHandler n'est même pas déclenché.

Si je presse retente, je reçois l'erreur suivante:

Error Domain=GKErrorDomain Code=7 "The requested operation could not be completed because local player is already authenticating." UserInfo=0x8915f80 {NSLocalizedDescription=The requested operation could not be completed because local player is already authenticating.} 

Quelqu'un a une idée de ce qui va mal?

+0

Avoir ce problème sur mon application. Je viens de passer à 4.2. Aucune idée si cela le provoque - jamais essayé dans 4.1. Des suggestions quoi faire à ce sujet? –

Répondre

7

Un problème possible que j'ai trouvé lors de la connexion à Game Center est que votre date peut être erronée sur l'appareil. Vérifiez si votre date est la date actuelle réelle. D'une certaine manière, Game Center n'autorise pas les connexions à partir de périphériques avec des dates incorrectes.

+0

Génial! Vous avez résolu un problème très irritant pour moi. –

0

Exactement le même problème ici. Cela a fonctionné environ 1 fois sur 5 pour moi hier matin. Aujourd'hui, je n'ai pas été en mesure de me connecter au sandbox Game Center une seule fois (en utilisant le même code que vous avez posté).

modifier: J'ai changé la cible de déploiement à 3,0 « Projet - Modifier actif cible - iOS déploiement cible »

Puis j'ai pu choisir 4.1 simulateur pour mon actif exécutable et je peux connecter et tout fonctionne. Quelque chose avec le bac à sable 4.2 je suppose ...

+0

Je pense que c'était fondamentalement Game Center lui-même qui ne fonctionnait pas. En date d'hier tout fonctionne comme prévu. –

1

Vous pouvez essayer de réinitialiser entièrement le simulateur par défaut. Cela a fonctionné pour moi, une fois qu'il est réinitialisé, mon iDevice fonctionne à nouveau. Selon la version d'ios que vous n'avez pas pu vous connecter, réglez le simulateur sur le premier plan et allez en haut à gauche. Simulateur iOS -> Réinitialiser le contenu et les paramètres -> Cliquez sur le bouton Réinitialiser.

J'espère que cela aide.

Questions connexes