ios - que - Advertencia de derechos de notificaciones push faltantes
push notifications ios react native (6)
@Djeeraj VS es correcto. Cordova agregó alguna compilación condicional para eliminar este requisito para aplicaciones que no necesitan notificaciones Push.
Puede comentar el código en
Classes/AppDelegate.h
según
esta respuesta
, pero es mejor agregar el símbolo de compilación
DISABLE_PUSH_NOTIFICATIONS
través de la interfaz de usuario para que pueda continuar beneficiándose de futuras actualizaciones de Cordova.
Vengo de .NET, así que estoy familiarizado con la compilación condicional, pero tuve que pasar un poco de tiempo resolviendo cómo hacer que el indicador del compilador funcione en XCode.
Resulta que la palabra mágica aquí es ''Macro de preprocesador''. Así es como se hace gráficamente a través de la interfaz de usuario (tenga en cuenta que de esta manera se hace en XCode 6.1):
Espero que esto ayude a otras personas en la misma situación.
Hemos creado un ID de aplicación, un certificado de distribución y un perfil de aprovisionamiento. Notificaciones Push no fueron habilitadas inicialmente.
Ahora necesitamos implementar notificaciones push en la aplicación.
Hemos habilitado las notificaciones push en la aplicación D, verificamos el perfil de aprovisionamiento, el perfil de aprovisionamiento no era válido, lo actualizamos y descargamos el último perfil de aprovisionamiento para usarlo la próxima vez.
Luego 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 entrega reciente de "Swanvi". Su entrega fue exitosa, pero es posible que desee corregir los siguientes problemas en su próxima entrega:
Falta el derecho a notificaciones push: parece que su aplicación incluye la API utilizada para registrarse en el servicio de notificaciones push de Apple, pero los derechos de firma de la aplicación no incluyen el derecho "aps-environment". Si su aplicación utiliza el servicio de notificaciones 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 "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.
Hemos vuelto a verificar la ID de la aplicación. Las notificaciones push están habilitadas para el desarrollo y la producción.
En el perfil de aprovisionamiento, se muestra la opción de notificaciones push.
¿Por qué recibimos esta advertencia por correo electrónico?
En mi caso, seguir la práctica funcionó. Xcode 9.2
-
Deshabilitado
Automatically manage signing
que aparece enBuild Target > Signing
- Importar perfil de aprovisionamiento manualmente.
Tengo una aplicación cordova, donde he recibido notificaciones anteriormente, pero quería eliminarla de la aplicación. Intenté seguir las respuestas anteriores, pero aún encontré este problema cuando cargué la compilación. Me di cuenta de que tenía un complemento instalado, que usaba la configuración de notificaciones y que de alguna manera mantenía algunas configuraciones activadas para las notificaciones.
Resolví el problema eliminando la plataforma ios completamente
cordova platform rm ios
, agregándola nuevamente
cordova platform add ios
y asegurándome de que el complemento se eliminó de los archivos
ios.json
y
fetch.json
.
Tuve la misma advertencia y así es como lo resolví.
En primer lugar, cuando archiva su proyecto, bajo los derechos, si no ve aps-environment y su aplicación usa notificaciones push, recibirá la advertencia mencionada en la pregunta.
ARREGLAR PASOS
1- Asegúrese de que su perfil de distribución sea válido en el Portal de Apple. - Si no es así, entonces regenerarlo. 2- Si su perfil de distribución es válido, en XCode, navegue a Preferencias y luego haga clic en Ver detalles . En este punto, en Perfiles de aprovisionamiento , asegúrese de no tener archivos de aprovisionamiento de distribución no válidos. Si hay inválidos, haga clic derecho y muévalos a la papelera. Si no tiene el válido, descárguelo del Portal. 3- Vaya a Configuración de compilación -> Firma de código y para todo elija el perfil de aprovisionamiento de distribución.
En este punto, si archiva, puede ver aps-environment en sus derechos y no recibirá el correo electrónico de advertencia.
Necesita ver 2 cosas : los perfiles de aprovisionamiento utilizados por su cuenta en Xcode y los perfiles en developer.apple
Se trata de los perfiles de aprovisionamiento.
PASO 1
: vaya a
https://developer.apple.com/account/ios/certificate/
y vea los Perfiles de aprovisionamiento de distribución de iOS
Active
que necesita para su aplicación.
Luego haga clic en él y asegúrese de que los
Enabled Services
tengan habilitada la
Push Notification
.
Si no es así, haga clic en editar y actívelo siguiendo los pasos proporcionados por Apple.
Si está habilitado, entonces perfecto.
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 -> Preferencia -> Ver detalles (para su cuenta) -> [OPCIONAL: para asegurarse de que no haya uno inválido, haga clic en cualquier perfil de aprovisionamiento, seleccione "Mostrar en el buscador", luego Eliminar / Mover todos los perfiles de aprovisionamiento de esa carpeta.] Ahora haga clic en Descargar todos los perfiles. Esto reemplazará los perfiles de aprovisionamiento locales con los actuales. Haz clic en HECHO.
PASO 4:
Vaya a los Objetivos de su aplicación -> Configuración de compilación -> En Firma de código, expanda su Perfil de aprovisionamiento para mostrar las pestañas
Debug
y
Release
.
De forma predeterminada, estará en Automático (por lo que su aplicación probablemente utilizaba automáticamente el perfil no válido que acabamos de eliminar en el paso 2).
Para la
Release
, para estar más seguro, seleccione el perfil de aprovisionamiento
Active
con notificaciones push habilitadas como se ve en el paso 1.
Eso es.
No deberías recibir ningún correo electrónico ahora.