2010-10-13 15 views
11

Estoy desarrollando un juego para iPhone con la integración de Game Center. El juego se está construyendo como Debug (no versión/distribución). En el simulador, Game Center siempre usa el sandbox correctamente. En el dispositivo iPhone en sí, pasará unos días usando el sandbox, y de repente decidirá usar los servidores reales de Game Center (lo que resulta en un error, porque mi juego aún no se ha lanzado). Ha estado evitando la caja de arena durante varios días, y odio probar en el simulador. ¿Alguna idea de cómo hacerlo de una vez por todas hace que use la caja de arena durante el desarrollo?¿Cómo puedo asegurarme de que mi aplicación de iPhone use el sandbox de Game Center?

Aquí está la cita relevante de la Game Kit Programming Guide:

Como desarrollador, su cuenta de Game Center se puede registrar en cualquiera de recinto para las pruebas, o en el medio ambiente en vivo, pero no ambos. Para cambiar la cuenta en la que está conectado, cambie a la aplicación integrada de Game Center y cierre sesión, luego ejecute cualquier aplicación habilitada para Game Center. Si esa aplicación se aprovisiona para desarrollo, ingrese la información de su cuenta de prueba para iniciar sesión en Sandbox. De lo contrario, ingrese la información de su cuenta en vivo para iniciar sesión en el entorno en vivo.

Por lo que puedo decir, mi aplicación se aprovisiona utilizando un perfil de aprovisionamiento de desarrollador. El modo de compilación está configurado en Depurar. He cerrado sesión en Game Center en el dispositivo. También probé salir de la Tienda por si acaso.

+0

me imagino que es el archivo de suministro que la aplicación se firmó con ... –

+0

¿Cómo afectaría eso? El perfil de aprovisionamiento es solo una lista de dispositivos aceptables y una ID de paquete. ¿Me estoy perdiendo algo obvio aquí? –

+0

He intentado todas las soluciones enumeradas en las respuestas, pero estoy teniendo el mismo problema. Muy extraño. –

Respuesta

2

He restaurado mi iPhone desde una copia de seguridad. Esto tuvo el efecto de eliminar todos los perfiles de aprovisionamiento y el juego en sí. Luego usé Xcode para instalar y ejecutar el juego, y Sandbox mágicamente comenzó a funcionar nuevamente. No estoy seguro de si se requirió la restauración completa, o simplemente de eliminar el juego. Anteriormente había intentado eliminar todos los perfiles de suministro, y eso no funcionó. Sospecho que la restauración probablemente fue necesaria en mi caso.

Editar: Podría ser mi imaginación, pero iOS 4.2 parece haber mejorado la estabilidad de la caja de arena. Me he dado cuenta de que el dispositivo parece iniciar sesión en la caja de arena, incluso en otros juegos de lanzamiento en mi dispositivo (juegos de otras compañías). Parece mantenerme permanentemente en modo de espacio aislado hasta que cierre la sesión. No he hecho más experimentos para probar esto en 4.2 ya que estoy reacio a restaurar mi dispositivo nuevamente si deja de funcionar.

2

El Game Center Programming Guide tiene una sección que describe cuándo y dónde no se utiliza el entorno de la zona de pruebas (desplácese hacia abajo hasta "Probar una aplicación de Game Center").

La tabla no da la impresión de que el desarrollador construye utilice siempre recinto de seguridad, pero eso no es del todo ha sido mi experiencia. Sin embargo, he tenido la experiencia de que si salgo de Game Center (utilizando la aplicación Game Center), cuando ejecuto mi aplicación (dispositivo o no) me pide que inicie sesión en Sandbox. Lo que supongo que es lo que dice el doctor, ahora que lo estoy volviendo a leer.

+0

Definitivamente he cerrado sesión en Game Center con la aplicación Game Center. He leído la documentación repetidamente, buscando pistas, y no he podido resolverlo. –

2

sólo tenía una nota rápida para agregar: después de reiniciar mi iPhone Simulador pensé que no había hecho ninguna diferencia, ya que la ventana de acceso no incluía el "*** *** SALVADERA" cadena (aunque mi construcción de la muestra GKTapper hizo). Cuando fui a crear una cuenta de todos modos, confirmó que estaba conectado al sandbox.

4

Eliminación de la aplicación, cerrar la sesión de Game Center aplicación, y volver a instalar el juego desde Xcode es lo que ayudó aquí.

La versión anterior no tenía integración de Game Center, y esa versión de App Store estaba instalada en el dispositivo. Al eliminarlo e instalarlo nuevamente desde Xcode aparentemente se limpió parte de la información obsoleta y se consiguió que el juego accediera a los servidores de Sandbox.

Además, seguí los consejos de Apple de los documentos para usar una cuenta de prueba separada, aunque no creo que eso sea lo que ayudó.

2

Estaba teniendo el mismo problema: Sandbox Game Center trabajando en algunos dispositivos, otros mostraron el temido mensaje "este juego no es reconocido por el centro de juegos". El cierre de sesión del centro de juegos -> eliminar aplicación -> reinstalar desde la solución de Xcode hizo el truco. Gracias a todos por sus sugerencias.

0

Desde iOS 8 SandBox debe configurarse manualmente en su teléfono. Debes marcar en Configuración -> Game Center -> y activar el Sandbox de lo contrario no funcionará y con los certificados de depuración, el inicio de sesión de Game Center no tendrá éxito.

enter image description here

Cuestiones relacionadas