Trate evocando este método [[UIApplication sharedApplication] enabledRemoteNotificationTypes]
Se devolverá un UIRemoteNotificationType que se puede trabajar con para determinar lo que está disponible.
UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
Ahora, el estado puede ser considerado como un int usando NSLog(@"status = ", status);
, a la que podemos determinar exactamente lo que está encendido. Pero para hacer esto, necesitamos entender UIRemoteNotificationType.
typedef enum {
UIRemoteNotificationTypeNone = 0,
UIRemoteNotificationTypeBadge = 1 << 0,
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3
} UIRemoteNotificationType;
Sin entrar en mucho detalle, lo que básicamente necesita para alejarse de este saber es que ...
- Si insignias están encendidas, añadir 1
- Si el sonido está activado, agregue 2
- Si están en alerta, añadir 4
- Si Quiosco contenido está disponible, agregue 8 (no voy a preocuparse por este tipo)
Supongamos que quiere saber si las insignias/sonidos/alertas están encendidos. El UIRemoteNotificationType (estado si está jugando) debería ser 7.
Ahora, trabaje hacia atrás. Digamos que status == 5
. Solo hay una configuración de configuración que puede darnos este valor, y eso es si las insignias y las alertas están activadas (las credenciales agregan 1, las alertas agregan 4, el total es 5) y el sonido está desactivado.
¿Qué pasa si status == 6
? De nuevo, solo hay una configuración de configuraciones que devolverá este número, y eso es si las alertas y el sonido están encendidos, mientras que las insignias están desactivadas.
Usando IF, podemos hacer algo como
If (status == 5)
{
NSLog(@"User has sound alerts disabled");
[self fireThatSpecialMethod];
}
Para ejecutar un bloque de conjunto de código, o disparar un método particular para cuando el sonido está desactivado, pero todo lo demás está encendido. De todos modos, ¡espero que esta respuesta sea útil para las personas!
esto realmente me ayuda –