在我们的应用程序中,用户将在开始工作时打卡。如果用户忘记打卡,我们必须在打卡时间后 24 小时后自动将他打卡。该应用程序可能在很长一段时间内都没有处于活动/后台状态。它可能会被终止。所以我们的想法是发布一个本地通知,通过该通知将在后台执行代码以打卡他。此通知必须是静默通知。但我们从研究中了解到,本地通知不能保持沉默。那么我们还有其他方法可以实现这一目标吗?或者我们真的可以安排一个静默的本地通知吗?
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)
}