Breve v1.2 is now live! You can now get daily coffee suggestions right on your Home Screen with the new widgets and share your favorite coffee recipes from the app with friends! Get it on the App Store: apps.apple.com/us/app/breve...
#iOSDev #IndieDev #Coffee
I've just released an update for @brevecoffeeapp.bsky.social! It adds Home Screen widgets with daily coffee suggestions, recipe sharing, improved search, and better VoiceOver support ☕️
In Xcode 27 @State changes from a property wrapper to a macro, gaining lazy evaluation of the initial value. I summarized what this means for managing @Observable classes in our SwiftUI views: nilcoalescing.com/blog/Initial...
#WWDC26 #SwiftUI #iOSDev
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic: nilcoalescing.com/blog/Animati...
I wrote about two additions to SwiftUI's navigation transition APIs in iOS 27. The new crossFade transition provides an alternative presentation animation, while AnyNavigationTransition makes it possible to choose a transition dynamically at runtime: nilcoalescing.com/blog/SwiftUI...
I've built a macOS app for designing mesh gradients.
Tintly generates gradients from pasted color palettes and lets you adjust control points visually. It can export images, SVGs, CSS, and SwiftUI code.
It's now available on the Mac App Store: apps.apple.com/us/app/tintl...
#macOSDev #IndieDev
Learn the recommended ways to initialize and store Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly: nilcoalescing.com/blog/Initial...
My WWDC26 book sale will be running for a few more days!
In iOS 27 we can add swipe actions to items in any scroll container, not just List, by applying the new swipeActionsContainer() modifier to the wrapping ScrollView. I wrote a post with some examples:
nilcoalescing.com/blog/CustomS...
#WWDC26 #iOSDev #SwiftUI
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier in SwiftUI: nilcoalescing.com/blog/CustomS...
SwiftUI now includes CrossFadeNavigationTransition, a built-in cross-fade navigation transition, and AnyNavigationTransition, a type-erased wrapper that allows transitions to be selected dynamically a...
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
Breve v1.2 is now live! You can now get daily coffee suggestions right on your Home Screen with the new widgets and share your favorite coffee recipes from the app with friends! Get it on the App Store: apps.apple.com/us/app/breve...
#iOSDev #IndieDev #Coffee
Breve
Nil Coalescing
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier.
SwiftUI's @State changes from a property wrapper to a macro in Xcode 27, gaining lazy evaluation of the initial value and fixing unnecessary @Observable model initialization on view recreation.
My annual WWDC book sale has started! All my Swift and SwiftUI books, including my most recent book, The SwiftUI Way, are now 30% off!
You can learn more about the available books and bundles on my website: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic.