有没有办法在 Apple Watch 的后台每天运行一次代码?

Posted

技术标签:

【中文标题】有没有办法在 Apple Watch 的后台每天运行一次代码?【英文标题】:Is there a way to run code once a day in the background on Apple Watch? 【发布时间】:2015-10-02 13:24:42 【问题描述】:

我想在我的 Watch 应用中添加一个显示从互联网检索到的信息的复杂功能。这些信息每天都在变化。

我需要找到一种方法来检索这些信息,而无需每天打开 Watch 应用或 ios 应用。

我知道在 iOS 上确实不允许在后台运行代码,但这似乎是在 Watch 上运行 Complications 的基本必要条件,所以也许在 WatchOS 上是允许的?

有人知道怎么做吗?

【问题讨论】:

【参考方案1】:

看一下 ComplicationController 中的 getNextRequestedUpdateDateWithHandler:。它允许您在下次想要唤醒复杂代码时提出请求。它将在您请求的大致时间在 requestedUpdateDidBegin 中唤醒(在某些限制内,24 小时应该没问题。)

【讨论】:

【参考方案2】:

手表第一次处于活动状态时,您可以从服务器请求数据,更新您的内部数据并在内部保存以读取当天的信息。通过这种方式,您可以避免后台活动。 您应该只检查激活 WatchApp 时的时间(和日期)。

【讨论】:

以上是关于有没有办法在 Apple Watch 的后台每天运行一次代码?的主要内容,如果未能解决你的问题,请参考以下文章

尝试在屏幕关闭时让 Apple Watch 计时器应用程序在后台运行

使用 Apple Watch 时 Worklight 6.3 锁定的钥匙串

有没有办法在 Apple Watch 屏幕关闭时记录动作?

有没有办法检测 Apple Watch 是不是与 iPhone 配对?

有没有办法确定 Apple Watch 和 iPhone 之间的粗略距离?

重启后 Apple Watch 4 启动时自动启动后台 WatchOS 应用程序