我有一个每天午夜更新的小部件,我的时间线代码如下所示:
func getTimeline(for configuration: ConfigurationIntent, in context: Context, completion: @escaping (Timeline<ViewModel>) -> Void) {
// Generate a timeline with one entry that refreshes at midnight.
let currentDate = Date()
let endOfDay = calendar.date(byAdding: .day, value: 1, to: currentDate)!
API.getWordOfTheDay(for: currentDate) { result in
switch result {
case .success(let wordOfTheDay):
let entry = ViewModel(date: currentDate, wordOfTheDay: wordOfTheDay, configuration: configuration)
let timeline = Timeline(entries: [entry], policy: .after(endOfDay))
completion(timeline)
case .failure:
break
}
}
}
问题是当我检查它时,小部件似乎永远不会在第二天更新。我已尝试将重新加载策略更改为 .atEnd
,但这也不起作用。
任何建议可能是什么或我做错了什么?