title: ios push notification terminates app
body: <p>I want to launch my app when clicking view button on push notification but my app gets terminated if the app is not in background.</p>
  
  <p>here is my error message from console.</p>
  
  <pre><code>Aug  9 10:35:41 unknown listingApp[4527] &lt;Error&gt;: -[__NSCFDictionary absoluteString]: unrecognized selector sent to instance 0x1a8b50
  Aug  9 10:35:41 unknown listingApp[4527] &lt;Error&gt;: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary absoluteString]: unrecognized selector sent to instance 0x1a8b50'
  *** Call stack at first throw:
  (
      0   CoreFoundation                      0x36df764f __exceptionPreprocess + 114
      1   libobjc.A.dylib                     0x34050c5d objc_exception_throw + 24
      2   CoreFoundation                      0x36dfb1bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
      3   CoreFoundation                      0x36dfa649 ___forwarding___ + 508
      4   CoreFoundation                      0x36d71180 _CF_forwarding_prep_0 + 48
      5   listingApp                          0x00002d09 -[AppDelegate application:didFinishLaunchingWithOptions:] + 220
      6   UIKit                               0x35c12821 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 772
      7   UIKit                               0x35c0cb65 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 272
      8   UIKit                               0x35be17d7 -[UIApplication handleEvent:withNewEvent:] + 1114
      9   UIKit                               0x35be1215 -[UIApplication sendEvent:] + 44
      10  UIKit                               0x35be0c53 _UIApplicationHandleEvent + 5090
      11  GraphicsServices                    0x3651be77 PurpleEventCallback + 666
      12  CoreFoundation                      0x36dcea97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
      13  CoreFoundation                      0x36dd083f __CFRunLoopDoSource1 + 166
      14  CoreFoundation                      0x36dd160d __CFRunLoopRun + 520
      15  CoreFoundation                      0x36d61ec3 CFRunLoopRunSpecific + 230
      16  CoreFoundation                      0x36d61dcb CFRunLoopRunInMode + 58
      17  UIKit                               0x35c0bd49 -[UIApplication _run] + 372
      18  UIKit                               0x35c09807 UIApplicationMain + 670
      19  listingApp                          0x00002b93 main + 78
      20  listingApp                          0x00002b0c start + 52
  )
  Aug  9 10:35:41 unknown UIKitApplication:co.isale.isale[0xc768][4527] &lt;Notice&gt;: terminate called after throwing an instance of '
  Aug  9 10:35:41 unknown UIKitApplication:co.isale.isale[0xc768][4527] &lt;Notice&gt;: NSException
  Aug  9 10:35:41 unknown UIKitApplication:co.isale.isale[0xc768][4527] &lt;Notice&gt;: '
  Aug  9 10:35:41 unknown ReportCrash[4528] &lt;Notice&gt;: Formulating crash report for process listingApp[4527]
  Aug  9 10:35:41 unknown com.apple.launchd[1] &lt;Warning&gt;: (UIKitApplication:co.isale.isale[0xc768]) Job appears to have crashed: Abort trap: 6
  </code></pre>
  
  <p>and this is the beginning of my didFinishlaunchWithOptions</p>
  
  <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {   
  
  NSLog(@"didFinishLaunchingWithOptions");
  viewController.webView = webView;
  [viewController.view addSubview:webView];
  
  
  // read from UISupportedInterfaceOrientations (or UISupportedInterfaceOrientations~iPad, if its iPad) from -Info.plist
  NSArray* supportedOrientations = [self parseInterfaceOrientations:
                                             [[[NSBundle mainBundle] infoDictionary] objectForKey:@"UISupportedInterfaceOrientations"]];
  
  // read from PhoneGap.plist in the app bundle
  NSDictionary *temp = [[self class] getBundlePlist:@"PhoneGap"];
  settings = [[NSDictionary alloc] initWithDictionary:temp];
  
  viewController = [ [ PhoneGapViewController alloc ] init ];
  
  NSNumber *useLocation          = [settings objectForKey:@"UseLocation"];
  NSString *topActivityIndicator = [settings objectForKey:@"TopActivityIndicator"];
  
  
  // The first item in the supportedOrientations array is the start orientation (guaranteed to be at least Portrait)
  [[UIApplication sharedApplication] setStatusBarOrientation:[[supportedOrientations objectAtIndex:0] intValue]];
  
  // push notification 
  [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
  // end of push notification
  </code></pre>
  
  <p>this code is from another delegate file called AppDelegate.m</p>
  
  <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
  
  
  NSArray *keyArray = [launchOptions allKeys];
  if ([launchOptions objectForKey:[keyArray objectAtIndex:0]]!=nil) 
  {
      NSURL *url = [launchOptions objectForKey:[keyArray objectAtIndex:0]];
      self.invokeString = [url absoluteString];
      NSLog(@"listingApp launchOptions = %@",url);
  }
  
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
  }
  </code></pre>
  
  <p>please help?
  many thanks  thanks :)</p>