我正在制作应用,提醒用户每天都做smth,即使应用处于后台模式,根据某些情况显示或不显示通知时我也无法实现这种情况。 一种可能的变体是设置无休止的重复通知:
notification.repeatInterval = NSCalendarUnit.NSDayCalendarUnit
但是如果满足某些条件,则需要一些方法来跳过当天的通知。如果从通知中心删除这些通知,他们将在第二天解雇。
另一种方法是制作一些方法仅在当天创建通知,然后在满足某些条件时删除它们。问题是,这种方法应该创建这些预定通知,即使是在后台模式,我也不知道如何做到这一点。
有什么想法吗?
答案 0 :(得分:0)
不幸的是,您可以通过silent APNS push在特定时间唤醒应用的唯一方法。这意味着您需要一台能够向您的设备发送静音推送的服务器,用户需要拥有互联网并且用户需要选择退出推送。
也许background fetch会对你有用吗?使用后台获取您的应用程序每隔最小间隔就会被唤醒。您可以将应用程序设置为每隔x分钟唤醒一次并检查该情况。
[application setMinimumBackgroundFetchInterval:100]; //seconds
请注意:
在另一个之前必须经过的最小秒数 可以启动后台获取。此值仅供参考 并不表示获取之间预期的确切时间 操作