gpt4 book ai didi

ios - 通知被点击后如何从屏幕上移除

转载 作者:行者123 更新时间:2023-11-28 12:03:31 25 4
gpt4 key购买 nike

几个月来,我一直在开发一个使用本地 UNNotifications 来实现宏伟目标的应用程序。我使用 Swift 4 编写了这个应用程序,因此旨在将其发布到 iOS App Store 上。当我测试我的应用程序时,我注意到在我点击其中一个通知操作(不是“取消”)之后,或者如果我只是点击一般的通知,应用程序就会打开(这是预期的) ,但通知会保留在屏幕上。在已经以编程方式点击其中一个操作后,是否有任何可能的方法从屏幕上删除通知?下面是我安排通知的代码:

   let action1 = UNNotificationAction(identifier: "go", title: "Go", options: [.foreground])
let action2 = UNNotificationAction(identifier: "cancel", title: "Cancel", options: [.destructive])

let actionsCategory = UNNotificationCategory(identifier: "actions.category", actions: [action1, action2], intentIdentifiers: [], options: [])
UNUserNotificationCenter.current().setNotificationCategories([actionsCategory])


//Queue the notification alert
let content = UNMutableNotificationContent()
content.body = "Interesting day notification!"
content.sound = UNNotificationSound.default()
content.setValue(true, forKey: "shouldAlwaysAlertWhileAppIsForeground")
content.categoryIdentifier = "actions.category"
// if (pinNumber.text) != nil{
// }

content.userInfo = ["Name": namePerson.text ?? "", "Pin": Int(pinNumber.text ?? "") != nil ? pinNumber.text! : ""]

//trigger
let triggerDate = Calendar.current.dateComponents([.year,.month,.day,.hour,.minute], from: datePicker.date)
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDate, repeats: false)

//scheduling
let identifier = id // set same id as task
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)

center.add(request, withCompletionHandler: {(error) in
if let error = error{
print(error)
}else{
print("saved alert")
}
})

最佳答案

我在您的代码中没有看到任何会导致该行为的内容。这对我来说听起来像是一个 iOS 错误,或者您的应用程序的特定设备(或模拟器)的通知权限/设置有些奇怪。进入“设置”应用的通知部分,查看适用于您的应用的设置。

关于ios - 通知被点击后如何从屏幕上移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49844331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com