12

Estoy construyendo una aplicación iOS que utiliza notificaciones push, y finalmente estoy listo para enviarla. Antes de hacerlo, me gustaría probar las notificaciones push fuera del servidor de producción, para asegurarme de que todo esté funcionando correctamente. Hasta ahora, el entorno de sandbox ha estado funcionando bien.Perfiles de Aprovisionamiento + Notificaciones Push + Producción vs Desarrollo

Después de hacer un poco de búsqueda, aprendí que cambiar los servidores desde ssl://gateway.sandbox.push.apple.com:2195 a ssl://gateway.push.apple.com:2195 no era suficiente, y que los tokens de producción push son diferentes de los tokens de inserción de sandbox. En cambio, aparentemente necesito un nuevo perfil de aprovisionamiento con derechos de Producción, nuevos certs instalados en mi servidor, y volver a compilar mi aplicación con dicho perfil para que sepa crear los tokens de inserción correctos.

Entonces, después de seguir todos los pasos, ni siquiera puedo ejecutar una compilación en mi teléfono; XCode dice

Este perfil no se puede instalar en dispositivos

Estos son los pasos que he tomado. Si me falta algo por favor hágamelo saber:

  • En mi Centro de desarrolladores de iOS, me he asegurado de que mi AppId es "habilitado para la producción de" bajo el servicio de notificación push de Apple.

  • También en mi iOS Developer Center, creé mi Production Push SSL Certificate, realicé los pasos de conversión necesarios e instalé el .pem resultante en mi servidor.

  • Según las instrucciones, he creado "un nuevo perfil de aprovisionamiento que contiene la ID de la aplicación que desea utilizar para las notificaciones". Lo hice yendo a Aprovisionamiento, y haciendo clic en la pestaña "Distribución" y creando un nuevo perfil. Confirmé que "producción" se establece en la sección "derechos" de este perfil.

  • He seleccionado el perfil de aprovisionamiento en la configuración de mi proyecto. Consigo el mensaje

    Este perfil no se puede instalar en dispositivos

    y estoy atascado.

+1

Con la adición de Apples Testflight, ahora puede probar las notificaciones de producción push antes de comenzar a funcionar. Simplemente cargue una construcción y cambie su certificado a producción. (También apunte a Apples live push, no a la caja de arena) – AMAN77

Respuesta

14

No puede instalar una aplicación compilada con un perfil de distribución de aplicaciones (producción) en un dispositivo. Solo los revisores de Apple pueden hacer eso. solo puedes probar presionar en una aplicación compilada en modo de desarrollo y usando el servidor de sandbox. Si desea probar servidores de producción, debe compilar la aplicación utilizando un perfil de distribución AdHoc que habilite los dispositivos que desea hacer la prueba. Claramente, debe recompilar y enviar la aplicación para su revisión utilizando el perfil de distribución de la App Store.

+0

Encontré que podía instalar una aplicación creada en Xcode con el perfil de distribución de App Store (en el perfil Debug). Sin embargo, el depurador no se adjuntará (lo que se espera para una compilación de la tienda de aplicaciones).Dicho esto, pude simplemente lanzar la aplicación en el iPad y probar la configuración de notificación de producción push de esa manera. – penfold

+0

Esto me suena extraño. Es cierto que puede hacer esto con un perfil de distribución AdHoc, pero me parece extraño que pueda hacer lo mismo con un perfil de la App Store. ¿Estás usando un dispositivo Jailbroken? – viggio24

+0

No, no con jailbreak, aunque es posible que me haya confundido, ya que es fácil de hacer. :-) Leyendo mi comentario nuevamente ahora, parece poco probable que pueda ejecutar una aplicación que no tiene el UDID en el perfil ... quizás todavía se creó con un perfil Ad Hoc y aún recibió notificaciones push de la producción ¿Servicio? – penfold

31

Cree una versión de distribución ad-hoc de su aplicación e instálela en su propio dispositivo. Eso utilizará la puerta de enlace y certificaciones APN de producción.

+0

También una buena respuesta, gracias Alex. – Chazbot

Cuestiones relacionadas