我正在尝试编写一个应用程序来提醒我达到特定的饮食目标(喝 8 杯水、吃两种水果、服用维生素等)
问题是,如果我使用本地通知将这些编码为提醒,我就无法执行代码。所以我不能相对于我的目标调整每小时的提醒。例如,如果我已经达到目标,则不显示提醒。或者说在晚餐时间停止提醒并在早上重新开始。
如果我将它们编码为 NSTimer,问题是它们不会在后台运行。
我想我可以将所有逻辑移至服务器并改用推送通知。但对于我认为非常简单的 self 提醒应用程序来说,这是一项巨大的工作量。
什么是正确的方法?
最佳答案
if I code these as reminders using local notifications, I don't get to execute code
我使用的是一款吃药应用,它确实使用了本地通知。如果用户点击/滑动(无论)通知,本地通知确实让应用程序执行代码。然后该应用程序会出现一个对话框,我可以在其中输入实际发生的事情(我吃了药,我跳过了,等等)。
该应用程序简单地假设,如果用户没有响应并告诉它发生了什么,那么什么也没有发生(即用户错过了药丸)。它怎么知道的?好吧,与任何基于本地通知的计时器应用程序一样,该应用程序必须维护一个待处理事件的内部列表。当它知道结果时,它会从列表中删除一个未决事件。这样,如果该应用程序未在运行,然后它正在运行,它可以回顾其列表并注意到有过去的未决事件,从而证明用户未能响应提醒。
关于ios - 如何在 iOS 中编写饮食提醒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282622/