2010-09-18 23 views
6

Estoy intentando autenticar un GKLocalPlayer con Game Center. Sin embargo, el código suministrado por AppleAutenticando GKLocalPlayer con 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]); 
     } 
    }]; 
} 

no parece hacer el truco para mí. Siempre recibo una alerta "No se pudo conectar al servidor de Game Center". con la opción de "Reintentar" o "Cancelar". Ninguna de las declaraciones NSLog se ejecuta, así que supongo que la terminaciónHandler ni siquiera se dispara.

si presiono reintento, me sale el siguiente error:

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.} 

Alguien tiene alguna idea de lo que va mal?

+0

Tengo este problema en mi aplicación. Acabo de actualizar a 4.2. No tengo idea de si eso está causando eso, nunca lo intenté en 4.1. ¿Alguna sugerencia de qué hacer al respecto? –

Respuesta

7

Un posible problema que encontré al conectarme a Game Center es que la fecha puede ser incorrecta en el dispositivo. Verifique si su fecha es la actual. De alguna manera, Game Center no permite conexiones desde dispositivos con fechas incorrectas.

+0

¡Impresionante! Usted resolvió un problema muy irritante para mí. –

0

Resuelva el mismo problema aquí. Ayer por la mañana funcionó aproximadamente 1 de cada 5 veces. Hoy no he podido iniciar sesión en el sandbox de Game Center ni siquiera una vez (usando el mismo código que ha publicado).

editar: He cambiado el destino de despliegue a 3,0 "Proyecto - Editar destino de Active - IOS Destino de despliegue"

entonces yo era capaz de seleccionar 4.1 simulador para mi ejecutable activo y que puede iniciar sesión y todo funciona. Algo con la caja de arena 4.2, supongo ...

+0

Creo que básicamente Game Center no funcionaba. A partir de ayer todo funciona como se esperaba. –

1

Puede intentar reiniciar por completo el simulador por defecto. Me funcionó, una vez que se restablece, mi iDevice funciona nuevamente.

Depende de la versión ios que no pudo iniciar sesión, luego configure el simulador en primer plano y vaya a la esquina superior izquierda. iOS Simulator -> Restablecer contenido y configuración -> Haga clic en el botón Restablecer.

Espero que esto ayude.

Cuestiones relacionadas