Tengo notificaciones automáticas configuradas en mi aplicación. Estoy tratando de determinar si el token del dispositivo que recibí de APNS en el método application:didRegisterForRemoteNotificationsWithDeviceToken:
provino de la zona de pruebas o del entorno de desarrollo. Si puedo distinguir qué entorno inicializó el token, podré decirle a mi servidor a qué entorno enviar la notificación de inserción.Determinar si la aplicación se está comunicando con el recinto de seguridad de APNS o el entorno de producción
He intentado utilizar la macro DEBUG
para determinar esto, pero he visto un comportamiento extraño con esto y no creo que sea 100% correcto.
#ifdef DEBUG
BOOL isProd = YES;
#else
BOOL isProd = NO;
#endif
Idealmente, me gustaría ser capaz de examinar el derecho aps-environment
(el valor es desarrollo o producción) en el código, pero no estoy seguro de si esto es posible.
¿Cuál es la forma correcta de determinar si su aplicación se está comunicando con el recinto de seguridad APNS o los entornos de producción? Supongo que el servidor necesita saber esto en primer lugar. Por favor corrígeme si esta es una suposición incorrecta.
Editado: la documentación de Apple en Provider Communication with APNS detalla la diferencia entre la comunicación con el entorno limitado y la producción. Sin embargo, la documentación no proporciona información sobre cómo ser coherente con el registro del token (desde la aplicación cliente de iOS) y la comunicación con el servidor.
La biblioteca está un poco desactualizada, pero funcionó bien para capturar los 'aps- environment' (reemplace '" get-task-allow "' con '" aps-environment "' en el ejemplo de @tcurdt, y no lo compare como un bool) –
@AlbertBori podría archivar un problema sobre lo que es ¿anticuado? – tcurdt
¡Claro! Aquí tienes: https://github.com/tcurdt/TCMobileProvision/issues/1 –