Falta advertencia de autorización de notificación de inserción

Hemos creado una ID de aplicación, un certificate de distribución y un perfil de aprovisionamiento. Notificaciones push no estaban habilitadas inicialmente.

Ahora necesitamos implementar notifications push en la aplicación.

Hemos habilitado las notifications push en la aplicación D, hemos comprobado el perfil de aprovisionamiento, el perfil de aprovisionamiento no era válido, lo hemos actualizado y descargado el último perfil de aprovisionamiento para usarlo la próxima vez.

A continuación, integramos las API para Notificaciones Push a través de APNS en nuestro código.

Después de cargar la aplicación en iTunesConnect, recibimos el siguiente correo electrónico de Apple:

Estimado desarrollador,

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

Falta notificación de notificación push: su aplicación parece include la API que se utiliza para registrarse con el service Apple Push Notification, pero los derechos de la firma de la aplicación no incluyen el derecho "aps-environment". Si su aplicación utiliza el service de notificación Push de Apple, asegúrese de que su ID de aplicación esté habilitada para la Notificación Push 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 "aps-environment". Consulte "Provisión y desarrollo" en la Guía de progtwigción de notifications locales y push para get más información. Si su aplicación no utiliza el service de notifications Apple Push, no se requiere ninguna acción. Puede eliminar la API de futuros envíos para detener esta advertencia. Si utiliza un marco de trabajo de terceros, es posible que necesite ponerse en contacto con el desarrollador para get información sobre cómo eliminar la API.

Después de haber corregido los problemas, puede usar Xcode o Application Loader para cargar un nuevo file binary en iTunes Connect.

Hemos vuelto a verificar la ID de la aplicación. Notificaciones push están habilitadas para desarrollo y producción.

En el Perfil de aprovisionamiento, se muestra la opción Notificaciones de inserción.

¿Por qué recibimos esta advertencia por correo electrónico?

Necesita ver 2 cosas : los perfiles de aprovisionamiento utilizados por su count en Xcode y los que están en developer.apple

Es todo sobre los perfiles de aprovisionamiento.

PASO 1 : vaya a https://developer.apple.com/account/ios/certificate/ y consulte los Perfiles de aprovisionamiento de distribución de Active iOS que necesita para su aplicación. Luego click él y asegúrese de que Enabled Services tengan habilitada la Push Notification . Si no es así, click editar y habilítelo siguiendo los pasos proporcionados por Apple. Si está habilitado, entonces perfecto.

enlace de distribucion

PASO 2: Elimine cualquier perfil de aprovisionamiento Invalid que vea relacionado con la aplicación (solo los inválidos para SU aplicación). Te diré por qué en los siguientes pasos.

PASO 3: Vaya a Xcode -> Preference -> Ver detalles (para su count) -> [OPCIONAL: Para asegurarse de que la inválida se haya ido, click cualquier perfil de aprovisionamiento, select "Mostrar en Finder", luego Borrar / Mover todos los perfiles de aprovisionamiento de esa carpeta.] Ahora click Descargar todos los perfiles. Esto replaceá los perfiles de aprovisionamiento locales con los actuales. Haz clic en HECHO.

PASO 4: vaya a los destinos de su aplicación -> Configuración de compilation -> En la firma de código, expanda su perfil de aprovisionamiento para mostrar las tabs Debug y Release . De forma pnetworkingeterminada, estará en Automático (es por eso que su aplicación probablemente haya utilizado automáticamente el perfil no válido que acabamos de eliminar en el paso 2). Para la Release , para estar en un lado más seguro, select el Perfil de aprovisionamiento Active con Notificaciones Active como se ve en el paso 1.

Eso es.

No deberías recibir ningún correo electrónico ahora.

@Djeeraj VS es correcto. Cordova agregó una compilation condicional para eliminar este requisito para las aplicaciones que no necesitan notifications Push.

Puede comentar el código en Classes\AppDelegate.h acuerdo con esta respuesta , pero es mejor agregar el símbolo de compilation DISABLE_PUSH_NOTIFICATIONS través de la interfaz de usuario para que pueda seguir beneficiándose de futuras actualizaciones de Cordova.

Vengo de background .NET, así que estoy familiarizado con la compilation condicional, pero tuve que dedicar un poco de time a determinar cómo conseguir que la bandera del comstackdor funcione en XCode.

Resulta que la palabra mágica aquí es 'Preprocessor Macro'. Así es como se hace gráficamente a través de la interfaz de usuario (tenga en count que así se hace en XCode 6.1):

introduzca la descripción de la imagen aquí

Espero que esto ayude a otras personas en la misma situación.

En mi caso, he revisado nuevamente la página 'Capacidades' dentro de las properties del proyecto y he presionado 'problema fijo' en el menu correspondiente de APNS. Ahora tiene que verse así introduzca la descripción de la imagen aquí

Tuve la misma advertencia y así es como lo resolví.

En primer lugar, cuando archivas tu proyecto, en virtud de los derechos si no ves aps-environment y tu aplicación utiliza notifications push, obtendrás la advertencia mencionada en la pregunta.

PASOS DE FIX

1- Asegúrese de que su perfil de distribución sea válido en el Portal de Apple. – Si no es así, regréselo. 2- Si su perfil de distribución es válido, luego en XCode, navegue a Preferences y luego click Ver detalles . En este punto, en Provisioning Profiles , asegúrese de no tener files de aprovisionamiento de distribución no válidos. Si hay otros inválidos, haga clic derecho y muévalos a la papelera. Si no tiene la válida, descarguela desde el Portal. 3- Vaya a Configuración de compilation -> Firma de código y para todo elija el perfil de suministro de distribución.

En este punto, si archiva, puede ver aps-environment en sus derechos y el correo electrónico de advertencia no aparecerá.