title: Attempt to present UIAlertController whose view is not in the window hierarchy with localnotification
body: <p>I am trying to present AlertView once the user clicks on the local notification. The AlertView has options of cancel or ok. </p>
  
  <pre><code>extension ViewController:UNUserNotificationCenterDelegate{
  
  
      func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -&gt; Void) {
  
          print("Tapped in notification")
          if(defaults.object(forKey: "alertOn") != nil){
  
  
              // Create the alert controller
              let alertController = UIAlertController(title: "Some text", message: "Some text again", preferredStyle: .alert)
  
  
              // Create the actions
              let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default) {
                  UIAlertAction in
  
              }
  
              let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel) {
                  UIAlertAction in
              }
  
              // Add the actions
              alertController.addAction(okAction)
              alertController.addAction(cancelAction)
  
              // Present the controller
                  self.present(alertController, animated: true, completion: nil)
  
          }
      }
  
  
  func triggerNotification(){
  
          print("notification will be triggered in five seconds..Hold on tight")
          let content = UNMutableNotificationContent()
          content.title = "SomeText"
          content.body = "Some more text"
          content.sound = UNNotificationSound.default()
  
          let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 5.0, repeats: false)
          let request = UNNotificationRequest(identifier:requestIdentifier, content: content, trigger: trigger)
  
          UNUserNotificationCenter.current().delegate = self as! UNUserNotificationCenterDelegate
          UNUserNotificationCenter.current().add(request){(error) in
  
              if (error != nil){
  
                  print(error?.localizedDescription)
              }
          }
      }
  </code></pre>
  
  <p>It should show me the alertview with option to ok or cancel a request. Instead its showing me message <strong>UIAlertController whose view is not in the window hierarchy</strong></p>
  
  <p>When I put the alertview in viewdidapear it works fine but when I put it in userNotificationCenter my AlertView not get attached to the main view.</p>
  
  <p><strong>Brief View of Code</strong></p>
  
  <pre><code>extension ViewController:UNUserNotificationCenterDelegate{
            func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -&gt; Void) {
  
           Present UIAlertView
  
          }
  }
  
  ViewController{
  
  Call to notification when app is in background 
  triggerNotification()
  
  triggerNotification(){
   Definition 
  }
  }
  </code></pre>