2010-12-08 23 views
4

J'essaie d'appeler la méthode d'authentification du centre de jeu, mais aucun écran d'authentification ne s'affiche et le rappel revient avec une erreur: "l'opération demandée a été annulée".Erreur d'authentification Game Center

Le code:

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
    { 
     NSDictionary *userInfo = nil; 
     if (error == nil) { 

      NSLog(@"Game Center successfully authenticated"); 
     } 
     else { 
      userInfo = [NSDictionary dictionaryWithObject:error forKey:@"NSError"]; 
     } 
     [[NSNotificationCenter defaultCenter] postNotificationName:Notification 
                  object:self 
                  userInfo:userInfo]; 

    }]; 

Toute idée de ce qui peut provoquer ce problème?

Répondre

17

Dans iOS 4.2 lorsqu'un utilisateur annule la connexion au Game Center, après 3 tentatives que l'erreur est revenu. Vous pouvez résoudre l'erreur en vous connectant à l'aide de l'application Game Center, puis réessayez votre application. Vous devriez voir le message de bienvenue de Game Center dans votre application.

+0

Oui, c'est ce que j'ai découvert aussi. – Idan

+0

btw, j'ai remarqué le message "bienvenue" j'appelle indépendamment de moi appelant toute fonction de centre de jeu. – Idan

+0

Est-ce que quelque chose est construit dans le centre de jeu, notant que mon application utilise ou configuré (via itunes connect) pour utiliser le centre de jeu, puis de faire apparaître cette alerte lorsque je retourne mon application au premier plan? – Idan

-1

Vous devriez faire quelque chose comme ça après avoir testé si le centre de jeu est disponible sur le périphérique spécifique:

GKLocalPlayer *localplayer = [GKLocalPlayer localPlayer]; 
[localplayer authenticateWithCompletionHandler:^(NSError *error) { 
    if (error) { 
     //DISABLE GAME CENTER FEATURES/SINGLEPLAYER 
    } 
    else { 
     //ENABLE GAME CENTER FEATURES/MULTIPLAYER 
    } 
}]; 
+0

Je l'ai testé avant bien sûr, et je ne vois pas comment votre code est différent du mien. – Idan