react que notification identifiers developer certificates apple ios profile apple-push-notifications

ios - que - Falta el derecho de notificación de inserción



push notifications ios swift (15)

Primera aplicación ID

asegúrese de habilitar su notificación de inserción de ID en el lado de producción

como aparece en la imagen

Segundo Certificado

desde la sección de producción crea dos certificados con tu id (notificación de inserción habilitada)

App Store y certificado ad hoc

Certificado de Apple Push Notification Service SSL (Sandbox)

Terceros perfiles de aprovisionamiento

Desde la sección Distribución crea el perfil de App Store con tu ID

Finalmente

mientras carga su contenedor, debe verificar qué perfil de aprovisionamiento utilizó y tener muchos derechos

esto todos los casos causan este problema espero que esto sea útil con usted

Tengo una aplicación para enviar cuando fue rechazada y recibí el mensaje

Falta el derecho de notificación de inserción: su aplicación parece registrarse en el servicio de notificación de inserción de Apple, pero los derechos de la firma de la aplicación no incluyen el derecho de "aps-environment". Si su aplicación utiliza el servicio de notificación push de Apple, asegúrese de que su ID de aplicación esté habilitada para notificaciones automáticas en el portal de aprovisionamiento y vuelva a enviarla después de firmar su aplicación con un perfil de aprovisionamiento de distribución que incluya el derecho de "aps-environment".

Revisé mi aprovisionamiento ad-hoc y allí encontré aps-environment y producción, sin embargo, cuando abro mi distribución de aprovisionamiento, no encuentro tal.

¿Es esta la causa de este mensaje de error y el rechazo de Apple, cómo puedo solucionarlo?


El mayor problema que tengo después de habilitar la Push Notification desde Capabilities y rehacer todos los certificados es que el nombre del Destino y el nombre de la carpeta donde se almacenó el proyecto se componen de 2 cadenas separadas por espacio. ¡Después de quitar el espacio todo funcionó bien!



En mi caso, incluso creé un myapp.profile y lo configuré en xcode manualmente, y cuando elegí "show in finder" y localicé el embedded.mobileprovision y lo compré para asegurarme de que el archivo aps-environment estaba en el error, aún allí.

Luego fui al centro de desarrolladores y descubrí que el estado de XC: myapp.profile no es válido. Lo actualicé e instalé el XC: myapp.profile y funcionó bien.

Creo que xcode está tratando de administrar el perfil y necesita verificar el perfil de aprovisionamiento cuando envía su binario a la tienda y asegurarse de que sea el correcto. Y de acuerdo con otras respuestas puede ser causada por varias razones, por lo que puede ser realmente molesto.

ACTUALIZAR:

Una vez que haya firmado con el perfil descargado y haya confirmado que aps-environment estaba allí cuando intente enviarlo a App Store , debería poder cambiar el perfil y la entidad de firma de código a Automático y iOS Developer . Espero que se pueda mejorar en Xcode 7.


Esto fue lo que me solucionó. (Ya había intentado activar / desactivar las capacidades, recrear el perfil de aprovisionamiento, etc.).

En la pestaña Configuración de compilación , en Derechos de firma de código , mi archivo .entitlements no era un enlace para todas las secciones. Una vez que lo agregué a la sección Cualquier SDK, se resolvió el error.


Esto me sucedió de repente porque el perfil de distribución de mi aplicación había expirado. Xcode comenzó a usar el perfil comodín en su lugar, que no tenía habilitado el derecho de notificación de inserción. No recibí ninguna advertencia. La solución fue fácil; Solo tuve que generar otro perfil de distribución para mi aplicación en el Centro para miembros de desarrolladores de Apple, descargarlo y hacer doble clic para instalarlo en Xcode.


Hay algunas sugerencias realmente buenas aquí.

En referencia a la última captura de pantalla que Mina proporcionó, después de archivar inicialmente mi aplicación, el perfil de provisión mencionado durante la carga contenía un comodín (XC. *). Esto está mal.

Tomó un esfuerzo considerable para resolver esto. Tuve que realizar una combinación de las sugerencias que proporcionaron Simon Woodside y Mina Fawzy.

Si tiene algún certificado existente y perfiles de aprovisionamiento relacionados con su proyecto, ahora sería un buen momento para eliminarlos todos localmente y revocarlos de manera remota. Date un nuevo comienzo.

La sugerencia detallada de Mina Fawzy es excelente. Al realizar la sugerencia de Mina, si se realiza correctamente, debería cuidarte en línea.

Ingrese la sugerencia de Simon. Dos cosas que necesitaba verificar dentro de mi proyecto. Usando XCode, ve aquí:

PROYECTO -> CONFIGURAR AJUSTES -> CÓDIGO DE FIRMAS

Revise las propiedades de Identidad de firma de código y Perfil de aprovisionamiento . Asegúrese de establecer esas dos propiedades a la del nombre de su proyecto. No permita que XCode seleccione automáticamente, y no use alguna identidad de firma de código genérica (por ejemplo, Iphone Developer).

Asegúrese de poder instalar la aplicación en sus dispositivos antes de decidir archivar.


Para aquellos que se encuentran con este problema, que realmente usan las Notificaciones Push en sus aplicaciones:

Nuestros certificadores push estaban a punto de caducar, por lo que creamos nuevos certificadores dev / prod push de la manera estándar descrita por Apple (no voy a entrar en detalles al respecto aquí, hay mucha información en la web cuando se actualiza sus certificaciones push para otro año de uso).

Sin embargo, después de hacerlo, apareció el problema en esta pregunta. Sin importar lo que hayamos hecho, recibimos este correo electrónico de Apple después de enviar nuestra aplicación. Cuando revisamos la configuración de nuestro Perfil de Aprovisionamiento de Distribución en el Centro de Miembros de Apple, todo parecía estar bien (se activó Push para nuestro ID de aplicación para ambos prod / dev, y nuestro perfil de aprovisionamiento de distribución todavía estaba conectado a este ID de aplicación, creamos literalmente nuevos certificados push para otro año como es la práctica estándar).

Finalmente, esto es lo que terminó resolviéndome para mí:

  1. Cree un nuevo perfil de aprovisionamiento de distribución que apunte a su ID de aplicación (deje su actual en tacto)
  2. En Xcode, actualice sus perfiles de aprovisionamiento a través de Configuración> Cuentas> Seleccione su cuenta> Detalles> Haga clic en el ícono de actualización
  3. Cree manualmente un archivo plit de derechos para su aplicación:
    • Menú Archivo> Nuevo archivo ...
    • Seleccione iOS> Recurso> Lista de propiedades
    • Nombre el nuevo archivo "foo.entitlements" (por lo general, "foo" es el nombre de destino)
    • Haga clic en el (+) junto a "Archivo de derechos" para agregar un elemento de nivel superior (el editor de listas de propiedades utilizará el esquema correcto debido a la extensión del archivo)
  4. Asegúrese de que este archivo de derechos se esté utilizando en las Configuraciones de Build de su destino (Target> Build Settings> Search for "Entitlements", en CODE_SIGN_ENTITLEMENTS configure la ruta de su archivo de Derechos que acaba de crear)
  5. Asegúrese de que la identidad de firma de código / perfil de aprovisionamiento en su Destino esté configurada correctamente en su perfil de aprovisionamiento de distribución apropiado / identidad de firma (esto debería ser obvio)
  6. No estoy 100% seguro de que esto haya afectado (no debería hacerlo ya que la configuración de Target anula la configuración del proyecto, pero lo hice de todos modos), asegúrese de que la identidad del perfil de aprovisionamiento / firma de su Proyecto coincida con la del objetivo
  7. En el archivo de derechos que ha creado, haga clic con el botón derecho en el archivo vacío y seleccione "Mostrar claves sin procesar / valores"
  8. Agregue una nueva entrada al archivo de derechos llamado "aps-environment" y configure su valor como "producción"
  9. Una nota clave, si anteriormente usaba el derecho de keychain-access-groups, también querrá agregar esa clave porque, por algún motivo, se borró al hacerlo manualmente. Asegúrate de que el valor sea el mismo que el utilizado en compilaciones anteriores (puedes encontrar el valor encontrando una compilación anterior en Organizer, intentando enviar a la tienda de aplicaciones, seleccionando tu equipo, luego, antes de enviar la aplicación, toca la flecha junto al La cadena "(X) Entitlements" para expandir las autorizaciones y ver el valor de la titularidad de keychain-access-group.
  10. Archive su aplicación e intente enviarla hasta el punto de llegar al botón "Enviar" final. Debería ver que esta aplicación ahora se creó con el nuevo perfil de suministro que creó en el centro de miembros. Cancelar de esto ahora.
  11. Regrese al centro de miembros de Apple y elimine el nuevo perfil de aprovisionamiento que creó en el paso 1.
  12. De vuelta en Xcode, actualice nuevamente la lista de perfiles de suministro repitiendo el paso 2.
  13. Ahora archiva tu aplicación nuevamente, y deberías ver que la aplicación se creó con el perfil de distribución de distribución anterior que querías usar, y que tiene correctamente el derecho de aps-environment. Presentar y listo.

Sé que esto no es tan detallado como debería ser, ya que debería tener capturas de pantalla. Trataré de actualizarlo con capturas de pantalla cuando puedo, pero por el momento estoy en una crisis de tiempo en este momento y quería obtener la información de lo que hice allí afuera. También existe una posibilidad muy probable de que algunos o la mayoría de los pasos que he delineado no sean necesarios, los estoy poniendo aquí porque los hice y pueden haber llevado a la solución final.


Para resolver esto para una aplicación expo "expulsada", fui a la pestaña de capacidades, habilité la opción de inserción y luego la deshabilité nuevamente. Esto eliminó la configuración de los derechos de APNS del archivo .entitlements.


Recibí este mensaje por una razón diferente: presenté una aplicación a través de Xcode sin crear primero un perfil de distribución de la tienda de aplicaciones específicamente para la aplicación. Creo que Xcode usa automáticamente un perfil de la App Store comodín si tiene uno instalado. Pero una aplicación usa Push Notifications requiere su propio perfil.

La solución es crear un nuevo perfil de App Store Distribution para la aplicación. A continuación, descárguelo, arrástrelo a Xcode y modifique su proyecto Configuración de compilación> Firma de código> Versión para usar el nuevo perfil.


Sí, esa es la causa del rechazo de la App Store. Si su perfil de aprovisionamiento ad-hoc tiene la clave aps-environment, significa que su aplicación está configurada correctamente en el Portal de Aprovisionamiento de Apple. Todo lo que necesita hacer es eliminar el perfil de distribución de la App Store en su máquina local, luego volver a descargar e instalar el perfil de distribución desde el Portal de Aprovisionamiento. Este nuevo debería contener la clave aps-environment.


Siguiendo con la respuesta dada por @Vaiden, en Xcode 8 puedes resolver este problema seleccionando el objetivo y haciendo clic en "Solucionar problema". Por supuesto, igual tendrá que configurar las notificaciones push en el portal de desarrolladores de Apple (puede simplificar un poco el proceso utilizando la nueva opción "Gestionar automáticamente la firma", lo que le ahorra la molestia de descargar los perfiles de suministro).


También me enfrentaba a este problema, incluso no estaba usando notificaciones push en mi aplicación. Hacer el nuevo perfil de suministro tampoco funcionó para mí. Lo que hice fue:

1.Crea nuevo certificado nuevo solo para Ad-hoc y App Store.

2. Luego haga un perfil de distribución con este certificado e integre el perfil con Xcode.

A continuación, la construcción recientemente enviada con este perfil se aprueba sin previo aviso.


Tuve el mismo problema y mi solución fue agregar el derecho de notificación de inserción desde Target -> Capabilities.


compruebe que su ID de la aplicación está habilitada o no en developer.apple.com en el portal de aprovisionamiento de iOS. Si no está habilitado, configure su certificado SSL push para su ID de la aplicación Descárguelo y vuelva a instalarlo en su llavero. Una vez más, descargue su perfil de Distrubución. en su Xcode Liabrary