我想有条件地重新加载requestedUpdateDidBegin函数中的活动复杂性,或者实际告诉ClockKit在当前时间线输入结束前15分钟设置下一次检查,但是我如何做到这一点而不知道当前复杂情况中的是什么呢?
我想做的是:
if let complications = CLKComplicationServer.sharedInstance().activeComplications {
for item in complications {
// Get timeline entry and template used?
}
}对于目前的复杂情况,我只能得到家庭,但没有其他信息,如时间表日期或模板使用。有办法弄到这个吗?
发布于 2016-03-24 02:45:28
复杂服务器从复杂控制器请求数据,但它的设计并不是为了向您提供时间线数据。您可以从服务器上找到的只有最早和最新的时间旅行日期。
首先,您必须从用于创建时间线条目的原始数据中获取时间线细节。
至于在最后一个条目结束前15分钟安排您的更新,您可以很容易地将其作为前一个重新加载请求的一部分来调度。复杂的服务器请求(在重新加载或扩展时间线之后)的最后一件事是下一个更新日期。
由于复杂服务器刚刚向您询问了getTimelineEntriesForComplication:afterDate:中的未来时间线条目,您可以记下最后一个时间线条目的日期,将其偏移15分钟,然后在调用getNextRequestedUpdateDateWithHandler之后返回新的日期。
https://stackoverflow.com/questions/36192198
复制相似问题