【问题标题】:Is there a way to run code once a day in the background on Apple Watch?有没有办法在 Apple Watch 的后台每天运行一次代码?
【发布时间】:2015-10-02 13:24:42
【问题描述】:
我想在我的 Watch 应用中添加一个显示从互联网检索到的信息的复杂功能。这些信息每天都在变化。
我需要找到一种方法来检索这些信息,而无需每天打开 Watch 应用或 iOS 应用。
我知道在 iOS 上确实不允许在后台运行代码,但这似乎是在 Watch 上运行 Complications 的基本必要条件,所以也许在 WatchOS 上是允许的?
有人知道怎么做吗?
【问题讨论】:
标签:
xcode
swift
watchkit
apple-watch
apple-watch-complication
【解决方案1】:
看一下 ComplicationController 中的 getNextRequestedUpdateDateWithHandler:。它允许您在下次想要唤醒复杂代码时提出请求。它将在您请求的大致时间在 requestedUpdateDidBegin 中唤醒(在某些限制内,24 小时应该没问题。)
【解决方案2】:
手表第一次处于活动状态时,您可以从服务器请求数据,更新您的内部数据并在内部保存以读取当天的信息。通过这种方式,您可以避免后台活动。
您应该只检查激活 WatchApp 时的时间(和日期)。