Post

Replies

Boosts

Views

Activity

Reply to onPreferenceChange closure is now nonIsolated?
It seems the swift team is tightening the screws on concurrency, but ... The error is: Main actor-isolated property 'buttonMaxWidth' can not be mutated from a Sendable closure Where: @State private var buttonMaxWidth: CGFloat = 120 Now looking under the hood: @preconcurrency @inlinable nonisolated public func onPreferenceChange<K>(_ key: K.Type = K.self, perform action: @escaping @Sendable (K.Value) -> Void) -> some View where K : PreferenceKey, K.Value : Equatable but, I wonder why they did not mark this func as @MainActor isolated? I suspect the 2m lines behind that would have to be refactored. for now my solution 1 is to assume .onPreferenceChange(ButtonWidthPreferenceKey.self) { newSize in MainActor.assumeIsolated { buttonMaxWidth = newSize } } What's the point of all these rules if we can say ignore the rules in one line ? For solution 2, you can be more pedantic and declare a MainActor isolated func that you can than open a Task that calls it, too much work ... .onPreferenceChange(ButtonWidthPreferenceKey.self) { newSize in Task { @MainActor in setButtonMaxWidth(newSize) } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Dec ’24
Reply to macOS SwiftUI Sheets are no longer resizable (Xcode 16 beta2)
Woha, just upgraded my Mac to Sequoia and noticed this beauty. So basically .frame(minWidth, idealWidth, maxWidth) just became useless when my view is displayed in a .sheet Shouldn't y'apple folks infer that? If I did call .frame than make the view resizableSheet, otherwise display it at intrinsic size as it happens now. ... Thank you for the solution.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’25
Reply to SwiftUI apps in macOS are not triggering onOpenURL when receiving a Universal Link
Spoke too soon var body: some Scene { WindowGroup { AppView(store: store) .onContinueUserActivity(NSUserActivityTypeBrowsingWeb) { userActivity in // handle it here } } } This will duplicate my current window. So now from one window I end up with 2 and 3 and so on.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to Allow "App" to find the devices on local network?
I'v been writing an app for macOS for years. I'm not aware my app cares about devices. It should not, it only cares about full disk access. So how does the Mac figure out that my app needs access to Devices. I want to pre-fill this when I build the app so my customers do not freak out.
Replies
Boosts
Views
Activity
Nov ’24
Reply to onPreferenceChange closure is now nonIsolated?
It seems the swift team is tightening the screws on concurrency, but ... The error is: Main actor-isolated property 'buttonMaxWidth' can not be mutated from a Sendable closure Where: @State private var buttonMaxWidth: CGFloat = 120 Now looking under the hood: @preconcurrency @inlinable nonisolated public func onPreferenceChange<K>(_ key: K.Type = K.self, perform action: @escaping @Sendable (K.Value) -> Void) -> some View where K : PreferenceKey, K.Value : Equatable but, I wonder why they did not mark this func as @MainActor isolated? I suspect the 2m lines behind that would have to be refactored. for now my solution 1 is to assume .onPreferenceChange(ButtonWidthPreferenceKey.self) { newSize in MainActor.assumeIsolated { buttonMaxWidth = newSize } } What's the point of all these rules if we can say ignore the rules in one line ? For solution 2, you can be more pedantic and declare a MainActor isolated func that you can than open a Task that calls it, too much work ... .onPreferenceChange(ButtonWidthPreferenceKey.self) { newSize in Task { @MainActor in setButtonMaxWidth(newSize) } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Dec ’24
Reply to macOS SwiftUI Sheets are no longer resizable (Xcode 16 beta2)
Woha, just upgraded my Mac to Sequoia and noticed this beauty. So basically .frame(minWidth, idealWidth, maxWidth) just became useless when my view is displayed in a .sheet Shouldn't y'apple folks infer that? If I did call .frame than make the view resizableSheet, otherwise display it at intrinsic size as it happens now. ... Thank you for the solution.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jan ’25
Reply to Unable to Renew Dev Subscription - My Never Ending Saga
year 2025 and same issue, latest Mac and os, Sequoia
Replies
Boosts
Views
Activity
Jun ’25
Reply to Unable to Renew Dev Subscription - My Never Ending Saga
Went on the iPhone app and it accepted my renewal. Not sure why the web app is refusing payments. Most likely a temporary glitch.
Replies
Boosts
Views
Activity
Jun ’25
Reply to macOS SwiftUI Sheets are no longer resizable (Xcode 16 beta2)
This issue is back with vengeance on Tahoe 26.2, Xcode 26.2 I basically throw a sheet that depending on state might transition from view1, view2 and maybe view3 The sheet grabs the size of the first view that it renders, and when I transition to the second or 3rd view, nada. But the giant professional rounded corners are so cute.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jan ’26