Determinar si una aplicación se está ejecutando en primer plano cuando se recibe una notificación en iOS

Me gustaría encontrar una manera de ver qué aplicación se está ejecutando en primer plano o si se muestra la pantalla de inicio cuando aparece una notificación local de mi aplicación. Por ejemplo, quiero tener diferentes acciones si hay en la pantalla de inicio o en otra aplicación. Intenté utilizar processed y pid, pero el pid se genera cuando se inicia la aplicación y no la última vez que se usa la aplicación. ¿Alguna idea? Gracias

Como se describe en la documentation de notifications push , puede leer [[UIApplication shanetworkingApplication] applicationState] cuando reciba la notificación para determinar si su aplicación está en primer plano, inactiva (está visible, pero hay un cuadro de dialog como el selector de WiFi delante) o en segundo plano.

Solo para tener un código de copyr y pegar disponible para otros:

 if([[UIApplication shanetworkingApplication] applicationState] == UIApplicationStateActive) { //App is in foreground. Act on it. }