Yahoo Weather app做可撤销的 - iOS

时间:2015-02-24 23:35:59

标签: ios background-process uilocalnotification

6个月前我想从后台(终止应用程序)唤醒我的应用程序30秒以下载几行XML并解析它,但在尝试使用后台获取和静音推送以及在线阅读文章之后我得出的结论是什么我试图完成是不可能的。

直到我找到Yahoo Weather app,这允许用户设置他/她想要获得有关明天天气的通知的时间;通知是本地的,每天都会在后台下载数据。雅虎是如何做到的?

2 个答案:

答案 0 :(得分:2)

我看不到他们的代码所以我无法确切地告诉你他们是怎么做的,但我可以告诉你我是如何实现类似的。

您可以要求系统在有资源的情况下在后台启动应用程序。这称为后台应用程序刷新,您可以查找它。

当您的应用程序因后台应用程序刷新而在后台启动时,您可以下载所需的数据,然后在每次发生这种情况时重新安排新的本地通知。这意味着当用户实际收到通知时,它将保留最新的数据。

就天气应用而言。他们的应用程序每天在后台多次更新,并能够获取当前的天气数据。他们每次都会安排通知,当您实际收到通知时,它会获得最新的数据。

答案 1 :(得分:0)

过了一段时间我弄清楚了。该应用程序也不使用后台提取或静默推送,因为如果用户终止应用程序,它们将无法运行。应用程序24小时跟踪用户位置,位置更新后,本地通知将下载数据并将其安排。

了解更多: Will iOS wake up the terminated app if it's registered with location for UIBackgroundModes?

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html