Post

Replies

Boosts

Views

Activity

Scaling widget text with `sizeThatFits`
According to the WidgetKit docs for Lock Screen Widgets and Watch Complications, the recommended way to scale text within a widget is to use the sizeThatFits API ("Use SwiftUI’s sizeThatFits(_:) API to scale text so that it fits available space.") I can't find any examples of sizeThatFits being used this way, so I don't really understand how to implement this... So far I am just using minimumScaleFactor, which works fine, so I'm not sure what I'm missing here.
0
1
555
Nov ’22
Actors and sync system callbacks (e.g. app delegate)
I am currently in the process of converting one of the singletons in my app, a class which manages a specific global state, to an actor, specifically a global actor. For the sake of this question, let's say that this global actor manages the user's state, and answers questions like "Is the user signed in?". This change has been pretty smooth sailing so far, up until the point where I need to call my actor in a synchronous system method that expects a return value. These are pretty common in the App Delegate for example i.e. UIApplication's application(_:open:options:) or application(_:continue:restorationHandler:), both of which expect a Boolean return value. In this example, I might need to first call something like await isUserSignedIn in order to access my actor. This isUserSignedIn method might not do any heavy lifting, and in fact, before it was an actor, it just ran on the main thread as normal. However, now that it is an actor, it must be called asynchronously. Of course, those system callbacks are not async (understandably). What is the best way to deal with this situation? It would be a shame if I had to explicitly block the main thread using something like a semaphore (even though that is essentially what isUserSignedIn already did, before it was an actor). Thoughts?
1
0
1.2k
Sep ’22
15.2 App Privacy Report developer message
Hello I've just installed the 15.2 beta developer beta and had a look at the new App Privacy Report feature. I can see the domains being contacted by my app coming through as expected. However, there is also a message there that I don't understand: "This app hasn't been updated by the developer to show which domains were contacted by websites or other content viewed in the app." Does anyone know what this is referring to? I'd like to update the app to support this, but I don't really understand this message or what action is expected. Thanks Updated to add: I have tested visiting a website in the in-app browser and it does appear in the Privacy Report in a separate section titled "Websites Visited In App". The above message is still present, however.
2
0
1.3k
Oct ’21