I have an app that displays a widget on the iPhone home screen. The function getTimeline, which processes new updates of the widget, has the following structure:
func getTimeline(for configuration: ConfigurationIntent, in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
applyConfiguration(...)
aCompletionHandler(...){ result in
let entry = SimpleEntry(...)
let timeline = Timeline(entries: [entry], policy: .atEnd)
completion(timeline)
}
}
Note that I used the .atEnd update policy to update the widget as soon as possible. In iOS 14 this worked quite well and the widget was updated about every 30 minutes. However, since iOS 15, the widget takes hours or sometimes a whole day to be updated. :(
When I install the app via Xcode on my own iOS 15 device, the widget updates about every half hour (as it was always in iOS 14 the case). But when I install the same app version via the App Store, it again updates very rare and unpredictable.
Does anyone have the same problem? (Maybe a bug in iOS 15?), or any advice on how I can make the updates more frequent and predictable?