title: Schedule a local notification(silent) to perform a custom task in background + swift ios
body: <p>In our app, the user will clock-in when he starts his work. If the user forgets to clock-out, we will have to automatically clock him out after 24 hours from the clock-in time. The app might not be in the active/background state for such a long time. It might be terminated. So our idea is to post a local notification through which will execute the code in the background to clock him out. This notification has to be a silent notification. But our understanding from the research is that local notifications cannot be silent. So is there any other way we could achieve this? Or can we actually schedule a silent local notification?</p>
  
  <pre><code>class func generateLocalNotificationWith(timeInterval : TimeInterval, title : String, message : String, mobileTimeClockId: Int)
  {    
      UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
      let content = UNMutableNotificationContent()
  
      //adding title, subtitle, body and badge
      content.title = title
      content.body = message
  
      let userInfoDictionary = ["badge":"0","content-available": "1"]
  
      let dict = ["aps": userInfoDictionary, "MobileTimeClockId": mobileTimeClockId] as [String : Any]
  
      content.userInfo = dict
  
      //getting the notification trigger
      let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInterval, repeats: false)
  
      //getting the notification request
      let request = UNNotificationRequest(identifier: "SimplifiedIOSNotification", content: content, trigger: trigger)
  
      //adding the notification to notification center
      UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
  }
  </code></pre>