Ios 跳过一个通知,每天重复

Ios 跳过一个通知,每天重复,ios,swift,notifications,Ios,Swift,Notifications,我正在制作一个应用程序,提醒用户每天做smth,但我无法实现这种情况,根据某些情况显示或不显示通知,即使应用程序处于后台模式。 一种可能的变体是设置无休止的重复通知: notification.repeatInterval = NSCalendarUnit.NSDayCalendarUnit 但如果满足某些条件,则需要某种方法跳过当前的通知。如果从通知中心删除这些通知,它们将不会在第二天触发 另一种方法是使某些方法仅为当前创建通知,然后在满足某些条件时删除它们。问题是,即使在后台模式下,这种方

我正在制作一个应用程序,提醒用户每天做smth,但我无法实现这种情况,根据某些情况显示或不显示通知,即使应用程序处于后台模式。 一种可能的变体是设置无休止的重复通知:

notification.repeatInterval = NSCalendarUnit.NSDayCalendarUnit
但如果满足某些条件,则需要某种方法跳过当前的通知。如果从通知中心删除这些通知,它们将不会在第二天触发

另一种方法是使某些方法仅为当前创建通知,然后在满足某些条件时删除它们。问题是,即使在后台模式下,这种方法也应该创建这些预定通知,我不知道如何做到这一点


有什么好主意吗?

不幸的是,在特定时间唤醒应用程序的唯一方法是通过。这意味着您需要一个服务器,该服务器将向您的设备发送静默推送,用户需要有internet,用户需要选择退出推送

也许对你有用?使用后台提取,您的应用程序将每隔一个最小间隔被唤醒。您可以将应用程序设置为每x分钟唤醒一次,并检查该条件

[application setMinimumBackgroundFetchInterval:100]; //seconds
请注意:

在另一秒之前必须经过的最小秒数 可以启动后台提取。此值仅为建议值,且 未指示两次提取之间预期的确切时间 行动


我在教程:UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)中找到了这段代码。据我所知,该方法甚至不能保证每天执行一次提取操作,我至少需要一次。还是我错过了smth?这不能保证什么。了解操作系统如何使用后台抓取的唯一方法是自己测试它,或者找到一篇关于这方面的文章。