如何在iOS中编写饮食提醒?

时间:2015-05-17 02:06:11

标签: ios xcode nstimer reminders

我试图编写一个应用程序来提醒我达到某个饮食目标(喝8杯水,吃两个水果,服用维生素等)

问题是如果我使用本地通知将这些代码编码为提醒,我就无法执行代码。因此,相对于我的目标,我无法每小时调整一次提醒。例如,如果我已经达到目标,则不显示提醒。或者说在晚餐时间停止提醒,并在早上再次开始。

如果我将这些代码编码为NSTimer,问题是它们不能在后台运行。

我想我可以将所有逻辑移动到服务器并使用推送通知代替。但对于我认为非常简单的自我提醒应用程序来说,这是一项巨大的工作。

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

  

如果我使用本地通知将这些代码编码为提醒,我就无法执行代码

我使用的是一个服用避孕药的应用程序,它确实使用了本地通知。如果用户点击/滑动(无论如何)通知,本地通知会让应用程序执行代码。该应用程序然后建立一个对话框,我输入实际发生的事情(我服用药丸,我跳过它,等等。)

应用程序只是假设如果用户没有回应并告诉它发生了什么,那么什么也没发生(即用户错过了药丸)。怎么知道的?好吧,与任何基于本地通知的计时器应用程序一样,应用程序必须维护一个待处理事件的内部列表。当它知道结果时,它会从列表中查找待处理的事件。这样,如果应用程序未运行,然后 正在运行,它可以回顾其列表并注意有过去的待处理事件,从而证明用户未能响应提醒。