gpt4 book ai didi

ios - 如何在一周中的特定一天但每隔一周运行一次通知(Swift + Xcode)?

转载 作者:行者123 更新时间:2023-11-30 11:11:40 26 4
gpt4 key购买 nike

基本上,我需要一个每隔星期一运行一次通知的应用程序。我拥有的是一个每个星期一运行通知的应用程序。有没有办法进行设置,以便在收到第一个通知时,应用程序将开始两周的时间间隔,再次运行通知并重复?例如,如果我有一个名为“week”的变量,并且每隔一周在“1”和“2”之间交替,我如何将其标记到通知的触发器?

func notification(hour: Int, minute: Int, weekday: Int, text: String){

let content = UNMutableNotificationContent()
content.title = "Example"
content.body = text
content.sound = UNNotificationSound.default()

let trigger = UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: hour, minute: minute, weekday: weekday), repeats: true)

let request = UNNotificationRequest(identifier: text, content: content, trigger: trigger)

UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)

}

override func viewDidLoad() {
super.viewDidLoad()

notification(hour: 12, minute: 0, weekday: 2, text: "Test")

}

最佳答案

您不能对重复通知执行此操作。唯一的方法是使用不重复的通知并提前在给定时间(在您的情况下是星期一)设置它们 - 例如,创建一个 for 循环,在接下来的 10 个星期一设置单个通知 - 您必须手动计算循环中所有这些的触发时间。

限制是您不能将它们设为不定式 - 但如果用户不会对这 10 个通知使用react,那么您以后使用它们的可能性非常小 - 至少从我的经验来看是这样。

最好的方法是在每次用户关闭应用程序时设置这些通知 - 例如,如果我们在第 5 个星期一打开应用程序,您应该清理所有通知并再次设置下一组 10 个通知。

关于ios - 如何在一周中的特定一天但每隔一周运行一次通知(Swift + Xcode)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52132189/

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