获取用于活动并发症的时间线条目和模板?

Get timeline entry and template used for active complication?

我想有条件地在 requestedUpdateDidBegin 函数中重新加载我的活动并发症,或者实际上告诉 ClockKit 在当前时间线条目结束前 15 分钟设置下一次检查,但是如何才能我在不知道当前并发症是什么的情况下这样做?

这是我正在尝试做的事情:

    if let complications = CLKComplicationServer.sharedInstance().activeComplications {
        for item in complications {
            // Get timeline entry and template used?
        }
    }

对于目前的并发症,我只能得到家庭,但没有使用其他信息,如时间线日期或模板。有办法得到这个吗?

The complication server 从您的并发症控制器请求数据,但它并非旨在向您提供其时间线数据。从服务器上只能查到最早和最晚的时间旅行日期。

您首先必须从用于创建时间线条目的原始数据中获取时间线详细信息。

至于将更新安排在最后一个条目结束前 15 分钟,您可以很容易地将其安排为 previous 重新加载请求的一部分。复杂服务器请求的最后一件事(在重新加载或延长时间线之后)是下一个更新日期。

由于复杂服务器刚刚要求您提供 getTimelineEntriesForComplication:afterDate: 中的未来时间线条目,您可以记下最后一个时间线条目的日期,将其偏移 15 分钟,然后 return 新的时间线条目date once getNextRequestedUpdateDateWithHandler 暂时被调用。