Post

Replies

Boosts

Views

Activity

Reply to Migrate Widgets from StaticConfiguration to IntentConfiguration
I don't have anything helpful to say here, but would like to say that I 100% agree with this. I would go so far to say that any of the features that result in Apple holding on to state for our apps should provide us a way of migrating that data as needed. Widgets and Shortcuts both result in Apple holding on to data for the user that is directly tied to our app's code, but is completely outside of our control. What this effectively means is that we either have to be locked in to choices made years ago despite the entire system changing around us or completely break things for our users and force them to fix it on their own. We added widgets to our app back when they were new (2020) and widgets as a whole looked very different. They were iPhone only, only on Springboard, and only appeared in fully color. None of that is true anymore and I would make different decisions about what widgets we would provide, how they are organized, and how they are configured. This might be the year that we do finally change everything, but it will come with a bad user experience because I can't do anything about their installed widgets. Those widgets will break or disappear completely and there is nothing I can do about that. I would love something similar to what was added a year or two ago for migrating watch complications from ClockKit to WidgetKit. If I could provide some migration code to convert existing saved widget configuration to a new configuration, it would fix so many issues.
Jun ’25
Reply to Update Widget Every Minute
First, you are in a losing battle using the things Apple does to gage what it is possible for you to do. It is not realistically possible to duplicate the clock widgets within the limits that are provided for 3rd party widgets. Apple has granted their own widgets special permissions. It is possible to add a timeline entry for each minute, but you have to hit a balance between overrunning memory limits (30MB as far as I can tell) and limiting the number of refreshes. Timeline entries will show at exactly the time you specify, but the same is not true for refreshes. You are able to tell the system when to refresh, but they don't provide any sort of guarantee as to when the refresh will actually happen. In your example created 30 minutes of entries and then said to update at the end of those 30 minutes. It didn't actually do the refresh for another 15 minutes. You are going to run into trouble doing a refresh more than once per hour, but I am not sure that is even a sure thing. Regardless of how often you do the refresh, if you want timing precision, you need specify the refresh at a particular time and then have the timeline entries to go past the refresh time. As an example (that may or may not be good numbers), you generate 2 hours worth of timeline entries and then set the refresh to happen every hour.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’25
Reply to Widget Memory Limit - Per Widget Kind/Size or Per Target?
It is a single shared amount of memory for all your widgets, and it is exceptionally annoying. That limit has been a thorn in my side since the introduction of widgets. I have a bunch of different widgets at all the sizes and locations and each is highly customizable and for some people it just won’t work because of that arbitrary limit, which has not been updated at all as phones have gotten more powerful and widgets are expected to do more and more.
Aug ’25