iOS: detecta si Game Center está deshabilitado

Estoy desarrollando un juego unity iphone.

Versión corta: el centro del juego puede deshabilitarse cuando el usuario declina para autenticarse 3 veces. ¿Se puede detectar este estado deshabilitado?

Versión larga: en caso de que algunos de ustedes no hayan tenido el horror de descubrir esto aún, si cancela un bash de authentication del centro de juegos 3 veces, el centro de juegos deja de pedirle que inicie session. Después de eso, ninguna funcionalidad del centro de juegos trabajo, ni se le notificará cuando intente usarlo. simplemente no recibes nada tus botones se apagarán.

Sin embargo, hay un post de error no descriptivo que el GC devuelve. Me figuro – hey, voy a pegar una pequeña vista de alerta allí cuando se devuelva el post de error, notificando al usuario que el centro de juegos está deshabilitado.

bueno, eso sería una tontería, porque resulta que ese post de error particular aparece cuando presionas cancelar en el post de authentication real … e incluso en otras situaciones, creo. así que a partir de ahora, tengo la opción de no decirle nunca al jugador cuando el centro de juegos está deshabilitado, y esperando que se reproduzcan, o enviándolos por correo basura de una manera desagradable y de aspecto roto cuando realmente disminuyen y aquí y allí como bien.

¿Hay alguna forma de detectar de forma progtwigda cuando el centro de juegos se ha deshabilitado de esta manera? eso seguro salvaría a todos el maldito dolor de corazón. Asumo que la respuesta es no, porque no es probable que los usuarios de spaming fueran los que estaban detrás de esto en el primer lugar. dime que estoy equivocado, alguien!

Siempre reviso mi juego por 3 bashs incorrectos. Por lo tanto, sé que gamecenter está deshabilitado y le doy al usuario la opción de cambiar a gamecenter e iniciar session cuando hacen clic en un button de gamecenter.

Como lo sé, no hay forma. El centro de juegos no está completamente deshabilitado, pero debes ir a la aplicación Game center e iniciar session desde allí para usarlo nuevamente. Entonces puedes sugerir a tus usuarios que lo hagan (iniciar session desde la aplicación del centro de juegos) si falla cualquier bash de usar el centro de juegos. No es la mejor solución ya que no sabes la razón exacta por la que falló, pero por ahora no he encontrado una mejor.

Tuve el mismo error recientemente y descubrí lo siguiente. Cuando autentica el jugador local, puede detectar un error que le permite saber que Game Center está deshabilitado.

- (void) authenticateLocalPlayer { GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; [localPlayer authenticateWithCompletionHandler:^(NSError *error) { if (error != nil) { // You get here if Game Center is disabled -- check error // to figure out what's going on. } }]; } 

Vea aquí la documentation de Apple.

La única forma de resolver esto en iOS 7 es

Configuración / General / Restablecer / Restablecer todos los ajustes

A partir de ahí, acaba de lanzar su aplicación nuevamente. Los inicios de session de Game Center funcionarán nuevamente.