用户解锁手表时是否拥有最新的复杂数据?

问题描述 投票:0回答:2

我目前正在开发一个简单的应用,该应用以watchOS并发症显示通过网络接收的数据。值得注意的是,此数据仅在需要进行新的网络提取之前约30分钟才有意义。

我想让用户在早上解锁手表时得到最新的信息(这是Apple常见的用例)。

当用户解锁手表时,是否有可能收到某种后台任务?如果我安排了后台任务,并且在刷新发生时手表被锁定并正在充电,则后台任务还会启动吗?当用户醒来并解锁手表时,我可以使用哪些技术为他们准备数据?手表锁定时是否有专门针对后台任务的文档?

swift watchkit watch-os clockkit
2个回答
0
投票

我将使用应用程序生命周期文档here,并且很可能选择:

  1. 在applicationDidEnterBackground()中,我将设置一个标志(并发症的最新更新)。我建议您使用单例,以便可以在应用程序中的任何位置访问它。

  2. 然后在applicationDidBecomeActive()中,我会拿起旗标,进行比较与当前时间,并通知活动的ViewController如果大于30分钟,请刷新其数据。

  3. 如果该标志不存在,因为该应用已终止,或者是首次启动,然后无论如何都要刷新(将过去的24小时设置为使用与1 /,2 /)相同的逻辑

    如果要使其更永久,请使用NSDefaults存储上次更新并发症的时间。

据我所知,手表在锁定状态下的工作与其解锁状态略有不同。区别之一是并发症的显示:您可以指定隐私行为,即what the clock face displays as complication(可以选择what is displayed on the lock screen)。因此,在我看来,可以在手表锁定和充电时按计划运行后台任务。因此,当手表解锁时,数据将自动准备就绪。因此,除了特殊情况外,没有特殊的文档说明手表处于锁定状态时会发生什么,因为在锁定状态下表盘上会显示什么。


0
投票

据我所知,手表在锁定状态下的工作与其解锁状态略有不同。区别之一是并发症的显示:您可以指定隐私行为,即what the clock face displays as complication(可以选择what is displayed on the lock screen)。因此,在我看来,可以在手表锁定和充电时按计划运行后台任务。因此,当手表解锁时,数据将自动准备就绪。因此,除了特殊情况外,没有特殊的文档说明手表处于锁定状态时会发生什么,因为在锁定状态下表盘上会显示什么。

© www.soinside.com 2019 - 2024. All rights reserved.