首页 > 解决方案 > 我如何每天奖励用户?

问题描述

我想每天在我的应用程序中奖励用户,但是当应用程序关闭时,计时器总是停止

我试过这样做...

 Timer.scheduledTimer(withTimeInterval: 86400, repeats: true) { _ in
self.points += 100
}

你能告诉我如何每天奖励用户一次吗?

标签: iosswiftxcodedatetimer

解决方案


当然计时器停止;当您关闭 Facebook 时,新闻提要是否继续滚动?不,答案是否定的。特别是作为第三方开发者,我们必须在应用程序关闭数据之前完成我们所有的任务。有一些功能可以持续工作约 5 分钟,但在那之后,任何相关数据都将关闭。

https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623111-applicationwillterminate

因此,我们需要考虑如何解决这个问题。所以,我们需要做的是

  1. 每次打开应用程序时,我们都会检查日期
  2. 如果这是用户第一次打开应用程序,我们会在本地保存日期​​ ( UserDefaults)
  3. 如果不是,我们需要检查日期是同一天还是不同的一天。
  4. 如果与保存的日期是同一天,我们什么也不做
  5. 如果是不同的日子,我们将向用户提供我们的奖励,然后覆盖我们本地保存中的日期UserDefaults

推荐阅读