Xcode - 每天00:00运行代码

时间:2014-07-17 13:05:44

标签: ios objective-c xcode timer synchronization

我需要一段代码,用于每天00:00运行的Xcode (obj-c)
这是因为我的服务器每天都会更新数据,我希望我的应用程序与更新同步。

我正在考虑做一个每分钟运行的计时器并检查时间(来自互联网,电话时间),但似乎可能有更高效的方式。

帮助或指示真的很感激!
感谢

3 个答案:

答案 0 :(得分:0)

使用Mac上的日历应用。每天0:00设置一个定期活动。在您选择警报类型的位置,您可以选择打开文件的选项(而不是弹出窗口等)。选择您的应用作为要打开的文件。

答案 1 :(得分:0)

当应用程序变为活动状态时,注册本地通知(UILocalNotification)以在午夜触发。

然后,您可以在应用代表-application:didReceiveLocalNotification:

执行更新

然后,您可以在应用程序通过调用UIApplication方法-cancelLocalNotification:

进入后台时取消通知

答案 2 :(得分:-1)

我认为甚至不需要在这里使用通知。通知通常是尽力而为,并不保证交付。这可以通过几个简单的步骤完成。

  1. 在iOS应用中保存lastUpdated时间。可能在NSUserDefaults中,或者如果你使用的是本地数据库,你也可以将它存储在那里。

  2. 每次用户启动应用程序时,请检查自上次更新以来经过了多长时间。

  3. 如果超过24小时,则对您的服务器进行API调用,并检查是否有可用的新更新(您可以从服务器时间戳确定)。获取最新数据(可能只有delta差异而不是所有内容)。

  4. 更新iOS应用中的lastUpdated时间。