2

My problem seems to be duplicate of this one,but it's not. While application is killed and not running in the background, if I receive push notification and clicked the notification banner, it works fine. "userInfo" isn't empty and application handles the notification. BUT if i dismiss the notification banner and open the app via clicking the application icon, this "userInfo" returns nil.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions {
    NSDictionary* userInfo = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(userInfo != nil){
        //Handling notification

    }
}

and also

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
    if([application applicationState] == UIApplicationStateActive)    {
         NSLog(@"...1");
    
    }else if([application applicationState] == UIApplicationStateInactive){
         NSLog(@"...2");
    
    }else if([application applicationState] == UIApplicationStateBackground){
         NSLog(@"...2");

    }
    completionHandler(UIBackgroundFetchResultNoData);
}

Is there any way to handle these notifications or should I handle them by my own ?

Community
  • 1
  • 1
Onur Var
  • 1,778
  • 1
  • 16
  • 16

1 Answers1

3

No your app is only informed about the notification that is used to open/launch your app.

There is no way to detect of there are any notification in the notification center for your app. You need to build this yourself in your apps server.

rckoenes
  • 69,092
  • 8
  • 134
  • 166
  • It should be said that push notifications can call a custom URL schema when they are sent out. So you could have different schema endings when you are configuring the push notification and the app can then use these schema's to perform different functions. @onurvarrrr –  Jun 08 '15 at 09:02
  • @Dan this is true, but the URL will only be called if the push notification is open by the user or silent push(fetch) notification. – rckoenes Jun 08 '15 at 09:05