I've having this same problem and have users contacting me about it. 10x the space is reported used in iCloud. I'm storing less than 100KB in a BYTES field on a CloudKit record, of which there are 200 records. It's 20MB on device but 200MB in iCloud.
I can also confirm that the same thing is happening when communicating from the app to the watch: the watch app wakes in background to process data from the iPhone app and calls reloadAllTimelines, but the watch face complication does not reload.
I'm guessing this is an iOS 18 bug because I've only heard from my customers in the last few weeks about this.
Same problem when observing NSNotification.Name.NSCalendarDayChanged
code executes, but reloadAllTimelines doesn't refresh the widget
So I dont think this is related to WatchKit session, it's because the app is in background.
I've having this same problem and have users contacting me about it. 10x the space is reported used in iCloud. I'm storing less than 100KB in a BYTES field on a CloudKit record, of which there are 200 records. It's 20MB on device but 200MB in iCloud.
I can also confirm that the same thing is happening when communicating from the app to the watch: the watch app wakes in background to process data from the iPhone app and calls reloadAllTimelines, but the watch face complication does not reload.
I'm guessing this is an iOS 18 bug because I've only heard from my customers in the last few weeks about this.
Same problem when observing NSNotification.Name.NSCalendarDayChanged
code executes, but reloadAllTimelines doesn't refresh the widget
So I dont think this is related to WatchKit session, it's because the app is in background.