I’m kind of stuck on the tab bar interaction in iOS 26. It feels SO intentional and out of place at the same time. Makes me wonder if there’s some kind of hardware/display feature coming to complement it. #iOS26
Senior iOS Engineer, Accessibility ❤️
I’m kind of stuck on the tab bar interaction in iOS 26. It feels SO intentional and out of place at the same time. Makes me wonder if there’s some kind of hardware/display feature coming to complement it. #iOS26
This is a core system app interrupting you, promoting a sale by a movie-ticketing company, to push you to go see the platform vendor’s new movie.
Why not just pop up random ads all the time, always creating new channels that everyone’s opted-into by default so you can never keep up with opting out of them all?
Oh wait, that’s already what happens.
Apple’s as bad as everyone else. They don’t respect their customers — we’re fodder.
They truly have no standards anymore.
https://mastodon.social/@caseyliss/114738626109660386
You can do what Ice Cubes is doing with Shortcuts now. And it’s free. Crazy!
Coding for iOS betas? Reminder: <available(...)> only checks runtime availability.
To keep building in stable Xcode 16.x, you’ll need compile-time checks too.
Check for a framework in the new SDKs so older compilers skip it.
Repurpose this to code a generic modifier if you need reuse.
Starting with Swift 6.2 and iOS 26, we can use enumerated() in SwiftUI List and ForEach views without wrapping it in an array. I wrote a post with some examples and notes on when we should avoid using the offset as an index or id: https://nilcoalescing.com/blog/UsingEnumeratedWithListAndForEach
#SwiftUI #Swift #iOSDev
@charliemchapman has anyone sent you this yet? I haven’t tried it so I can’t vouch, but filed it away for next time. https://fatbobman.com/en/posts/demystifying-swiftuis-ignoredbylayout/
I'm not saying you need to set the glassEffect to .interactive everywhere... but you kinda do!
The new BGContinueProcessingTask allows a work to continue even after the app is backgrounded, with a system providing UI to communicate progress!
No more LiveActivities to provide feedback on tasks being performed by the app 🤩
Documentation: https://developer.apple.com/documentation/backgroundtasks/performing-long-running-tasks-on-ios-and-ipados
Last year's WWDC discussed linker improvements to make SwiftUI Previews faster. It didn't really work for me. The "time to update Previews" on my main project (large, many packages) remained between 8 seconds and 20 seconds with half the attempts giving weird errors instead of an update.
My entire team abandoned Previews.
I haven't seen any mention at WWDC this year. But they are an order of magnitude faster... 2 to 3 seconds to update. And I haven't seen an error, yet.
Maybe? Finally?
If I could give an Apple Design award I’d give it to Reeder. Familiar but distinct, lovely to interact with, thoughtful but easy to understand.
@peterkos I definitely get that and am not trying to say users don’t prefer it but I’m still an idealist about the platform being distinct from web in that it’s opinionated. Designs like that, to me, shouldn’t be able to win a design award from Apple if it doesn’t fit the platform. I’m a little too dogmatic maybe
How can I convince my company that quality on the platform is a real thing when they can point and go “well Apple thinks these are good”. Rant over Im just kind of blown away
One of them is littered with micro transactions and then the other is this? My understanding of “design award” must be broken
The Apple design award winners are mostly uninspired or bad? What is happening.
Realized today that vehicle models and trims that are valid Roman numerals are read out by VoiceOver as their numerical equivalent. So “Honda Civic LX” was reading “Honda Civic 60”.
You can use speechSpellsOutCharacters in some cases but that doesn’t work everywhere. So I made a little VoiceOver utility to handle it. #accessibility #a11y #swiftlang
I've been experimenting with mesh gradients in SwiftUI and wrote up what I learned. The post covers basic and more advanced setups, color adjustments, Bezier points, and color position animations: https://nilcoalescing.com/blog/MeshGradientsInSwiftUI/
#SwiftUI #iOSDev #macOSDev #Swift
I was so inspired by Google’s announcement of Material Design Expressive today that I had to write a bit about it myself: https://quality.ghost.io/an-end-to-dead-app-design/
I was so inspired by Google’s announcement of Material Design Expressive today that I had to write a bit about it myself: https://quality.ghost.io/an-end-to-dead-app-design/
Learned at Deep Dish that you can automatically pop up the config screen for widgets upon initial placement using promptsForUserConfiguration()
Shoutout to @StewartLynch for the tip! #iosdev