title: Using UNUserNotificationCenter to support iOS 10 rich notifications, but the notification never shows up. It only sounds the alert
body: <p>Not sure, what's missing, but I'm stuck with a weird problem!!!</p>
  
  <p>Notification sounds, but isn't displayed.</p>
  
  <p>I have registered the app to only display alerts and sounds, and strangely it never is displayed. I can see that the notification is added successfully. But, there seems to be something trivial that I'm not able to comprehend.</p>
  
  <p>Even removing the notification works.</p>
  
  <pre><code>import Foundation
  import NotificationCenter
  import UserNotifications
  
  class NotificationManager: NSObject {
  
      private let categoryIdentifier = "notificationCategory"
  
      private var toDateComponents = NSDateComponents()
  
      private enum actionIdentifier : String {
          case openApp = "openApp"
          case playMusic = "playMusic"
      }
  
      // MARK: - Register for notifications
  
      func registerForNotifications(application: UIApplication) {
          if #available(iOS 10.0, *) {
              UNUserNotificationCenter.currentNotificationCenter().getNotificationSettingsWithCompletionHandler { notificationSettings in
                  switch notificationSettings.authorizationStatus {
                  case .NotDetermined:
                      UNUserNotificationCenter.currentNotificationCenter().requestAuthorizationWithOptions([.Alert, .Sound]) { (granted, error) in
                          // Enable or disable features based on authorization
                          if granted {
                              print("Access requested and was granted for sending notifications")
                              UNUserNotificationCenter.currentNotificationCenter().setNotificationCategories([])
                              UNUserNotificationCenter.currentNotificationCenter().delegate = self
                              self.setupNotificationActions()
                          } else {
                              print("Access requested and was denied for sending notifications")
                              print(error?.localizedDescription)
                          }
                      }
                  case .Denied:
                      print("Notifications are turned off!!")
                  break // nothing to do, pointless to go on
                  case .Authorized:
                      self.setupNotificationActions()
                  }
              }
          } else {
              // Nothing to do here
              print("iOS 9 says, Let's get started...")
              self.setupNotificationActions()
          }
      }
  
      // MARK: - Setup notification actions
  
      private func setupNotificationActions() {
  
          // Initialize and specify the notification actions
          if #available(iOS 10.0, *) {
              let openAppAction = UNNotificationAction(identifier: actionIdentifier.openApp.rawValue, title: "Open App", options: [.AuthenticationRequired, .Foreground])
              let playMusicAction = UNNotificationAction(identifier: actionIdentifier.playMusic.rawValue, title: "Play Music", options: [])
              let notificationCategory = UNNotificationCategory(identifier: categoryIdentifier, actions: [openAppAction, playMusicAction], intentIdentifiers: [], options: [.CustomDismissAction])
  
              UNUserNotificationCenter.currentNotificationCenter().setNotificationCategories([notificationCategory])
          } else {
              // Specify the notification actions
              let openAppAction = UIMutableUserNotificationAction()
              openAppAction.identifier = actionIdentifier.openApp.rawValue
              openAppAction.title = "Open App"
              openAppAction.activationMode = UIUserNotificationActivationMode.Foreground
              openAppAction.destructive = false
  
              let playMusicAction = UIMutableUserNotificationAction()
              playMusicAction.identifier = actionIdentifier.playMusic.rawValue
              playMusicAction.title = "Play Music"
              playMusicAction.activationMode = UIUserNotificationActivationMode.Background
              playMusicAction.destructive = false
              playMusicAction.authenticationRequired = false
  
              // Specify the category related to the above actions
              let notificationCategory = UIMutableUserNotificationCategory()
              notificationCategory.identifier = categoryIdentifier
              notificationCategory.setActions([openAppAction, playMusicAction], forContext: UIUserNotificationActionContext.Default)
              notificationCategory.setActions([playMusicAction], forContext: UIUserNotificationActionContext.Minimal)
  
              let notificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Sound], categories: NSSet(object: notificationCategory) as? Set&lt;UIUserNotificationCategory&gt;)
  //            if (notificationSettings.types != UIUserNotificationType.None){
                  UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
  //            }
          }
      }
  </code></pre>
  
  <p>And, in AppDelegate...</p>
  
  <p><code>private let notificationManager = NotificationManager()</code></p>
  
  <pre><code>func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -&gt; Bool {
      notificationManager.registerForNotifications(application)
  }
  </code></pre>