tutorial remote receive react notification how ios swift xcode apple-push-notifications

ios - remote - Xcode 8 "falta el derecho de aps-environment en la firma de la aplicación" al enviar



push notifications ios swift tutorial (11)

Tengo una aplicación a la que hemos enviado docenas de versiones en los últimos 6 meses y usamos APNS. Recibí el siguiente correo electrónico de Apple después de actualizar a Xcode 8

Estimado desarrollador,

Hemos descubierto uno o más problemas con su entrega reciente de APP_NAME. Su entrega fue exitosa, pero es posible que desee corregir los siguientes problemas en su próxima entrega:

Falta el derecho de notificación de inserción: su aplicación incluye una API para el servicio de notificación de inserción de Apple, pero el derecho del entorno aps falta en la firma de la aplicación. Para resolver esto, asegúrese de que su ID de aplicación esté habilitada para notificaciones push en el Portal de aprovisionamiento. Luego, firme su aplicación con un perfil de aprovisionamiento de distribución que incluya los derechos del entorno aps. Esto creará la firma correcta y puede volver a enviar su aplicación. Consulte "Aprovisionamiento y desarrollo" en la Guía de programación de notificaciones locales y push para obtener más información. Si su aplicación no utiliza el servicio Apple Push Notification, no se requiere ninguna acción. Puede eliminar la API de envíos futuros para detener esta advertencia. Si utiliza un marco de terceros, es posible que deba ponerse en contacto con el desarrollador para obtener información sobre cómo eliminar la API.

Una vez que haya corregido los problemas, puede usar Xcode o Application Loader para cargar un nuevo binario en iTunes Connect.

Saludos,

El equipo de la App Store

Lo extraño es que fui a developer.apple.com -> Certificados, identificadores y perfiles y mi AppId todavía tiene habilitadas las notificaciones push. No estoy haciendo nada diferente de lo que he hecho, así que tengo curiosidad por saber si la actualización de Xcode 8 rompió algo. ¿Algunas ideas?

Por cierto: el enlace que pusieron para la Guía de programación de notificaciones push se rompió en el correo electrónico, por lo que no es una buena señal.


De las notas de la versión de Xcode:

Xcode 8 no copia automáticamente los derechos del entorno aps de los perfiles de aprovisionamiento en el momento de la compilación. Este comportamiento es intencional. Para usar este derecho, habilite las notificaciones push en el panel de capacidades del editor del proyecto o agregue manualmente el derecho a su archivo de derechos. (28076333)

Este es un gran cambio, ya que siempre fue bastante extraño que el derecho de aps-environment no requiriera la lista, pero muchos otros sí.

Para aquellos de ustedes que no quieren simplemente presionar ciegamente "Fix Me" y que actualmente no tienen un archivo de derechos, es solo un archivo plist al que se hace referencia en la Configuración de compilación de su proyecto en "Derechos de firma de código"


Después de un día de lucha con Xcode 8, no pudimos entender por qué el desarrollo del aps-environment NO se agregó a nuestras compilaciones de depuración. Faltaba en la sección de derechos en la aplicación integrada para la prueba de depuración ... a pesar de que HABILITAMOS la nueva Capacidad y el archivo de derechos existía. El problema es que el archivo de derechos debe establecerse para CUALQUIER SDK en la Configuración de compilación de Xcode para los derechos de depuración.


El uso de Xcode 9 push fue activado.

Intenté deshabilitar / volver a habilitar las capacidades de Notificación Push . (no funcionó)

Intenté deshabilitar / volver a habilitar Administrar automáticamente la firma . (no funcionó)

Resulta que tuve que eliminar y volver a agregar mis perfiles de aprovisionamiento. ( vea aquí cómo hacerlo ) Es posible que tenga que deshabilitar / volver a habilitar Administrar automáticamente la firma después de las salas.


Hubo un cambio en Xcode 8, donde sus derechos ya no provienen de los identificadores de la aplicación, sino de las capacidades seleccionadas en el objetivo de su aplicación. Entonces, como dijo Unome (OP), debe verificar que las Notificaciones Push estén activadas.

Para mí, no era un botón "Solucionarme", pero tenía dos archivos de derechos (uno para desarrollo y otro para distribución). Al alternar la capacidad de notificaciones push, se agregaría la clave de aps-environment aps, con el development valor, al archivo de derechos de desarrollo, pero no se agregaría al archivo de derechos de distribución. Copiar la misma clave en la distribución funcionó para deshacerse del correo electrónico de advertencia al subir a iTunes Connect.

Para la mayoría de los proyectos, debería ser suficiente activar las Notificaciones Push, o si ya está activado pero la clave no está en los derechos, intente desactivarlo y activarlo nuevamente.


Muy fácil en realidad. Por alguna razón, se deshabilitó en Xcode 8, pero vaya a Objetivos -> Capacidades y verifique que las notificaciones push sean correctas en esa vista. Para mí tenía un "Fix Me", tenía que hacer clic y listo.


Para mí, el problema era porque había dos archivos de derechos: Entitlements-Debug.plist y Entitlements-Release.plist . Y solo uno de ellos (Debug) ha necesitado configuraciones en él.

Cambiar el valor múltiple de Configuración de compilación> Firma> Derechos de firma de código a un solo MyAppName/MyAppName.entitlements y luego volver a habilitar Capacidades> Interruptor de notificaciones push fue el truco para mí.

Espero eso ayude.


Recibí el mismo correo electrónico de Apple usando XCode 7.3.1. Lo que hice para resolver el problema fue:

  1. En Capacidades> Configure la notificación PUSH como se indica en la respuesta @Bruce Tsai.
  2. En Configuración de compilación> Firma de código> Identidad de firma de código, configure el certificado de desarrollador para la depuración y el certificado de distribución para el lanzamiento, como se muestra en la imagen:


Si está utilizando marcos de Firebase y no está utilizando notificaciones push, hay dos soluciones: 1. simplemente aguante el mensaje de "problema" que se envía a todo su equipo cada vez que carga un archivo binario. La aplicación seguirá siendo aceptada como envío, siempre que no esté utilizando notificaciones, puede ignorar la advertencia. o 2. haga esto: https://.com/a/46802075/7529450 . Esto eliminará la molesta notificación por correo electrónico y también será aceptado como envío.


También tengo el mismo problema, y ​​estoy seguro de que la notificación Push está desactivada por defecto en Xcode8. No me di cuenta. Ten cuidado al respecto.


Una opción más que funcionó: copiar y pegar la fuente de AppName/Entitlements-Debug.plist en AppName/Entitlements-Release.plist .


Gestionar automáticamente la firma estaba desactivada para mí, lo comprobé y funcionó bien para mí.