The crystal “Exemplary App Awards” for #SwiftUI class were etched & delivered to Sankar and Tomas as inspiration. Nice work!

If you have a #SwiftUI List/Grid and you are iterating over Model objects using id: \.self you may encounter a duplicate key in dictionary error resulting in a crash.
Changing to id: \.id or removing the id parameter entirely should resolve this issue.
for example:
forEach(photo, id: \.self) *boom*
forEach(photo) or forEach(photo, id: \.id) all good
Tricky to debug from the error message/trace but easy fix.
#iOSDev #macOSDev #SwiftData #coredata
Today is "First-Shot Final" in #SwiftUI class, where students build two apps in 2.5 hrs, no AI & no already-created code permitted. My students will be code-interview ready! The apps? "Pete Davidson & Post Malone's Tattoo Tracker" built with #SwiftData (Pete loves this now that he's getting his ink removed), and "Admiral Grace's Cat Facts App" (URLSession & JSON parsing). Admiral Grace Hopper is one of my cats. Solutions to be posted, soon. Congrats to my students. Hire them! Hack on!

Here’s a fun one for #swiftui experts out there. This transition mostly works as expected unless the button in the accessory bar is held for more than a fraction of a second. 😭
I went with this approach to the new TabBar which kinda got a bit inspired by Tidal.
#iosdev #buildinpublic #swiftui #liquidglass #hatersgonnahate
So I wanted to remember birthdays. First thing I did? Added them as recurring yearly appointments to my iOS calendar 📅
Sounds reasonable right? It wasn't 😅
You never actually know how old someone gets, because a recurring appointment doesn't calculate age. And you have to manually set a notification for each single one of them.
10 birthdays? 10 notifications to configure. Forget one? (1/2)
#BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain
Got certs all set up, but it seems github is having some trouble at the moment so stopping here. Tomorrow night, let's start looking into what migrating from old queues and history to the new lists will look like. See you then!
🔜 Tomorrow’s stream: https://youtube.com/live/CY8Dy9Dx8E4
⏮️ Playlist so far: https://www.youtube.com/playlist?list=PLRxjf93xotuofCtaxtGOcWeuxVZYJyY-m
📲 Download Jiiiii: https://apps.apple.com/app/apple-store/id6472801548?pt=14724&ct=MastodonCCStreams&mt=8
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #Swift #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
I'm making a seasonal anime guide app, in the open for all to experience and learn from.
Let's do some cleanup and get dev server certs set up!
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #SwiftLang #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
Come chill with me: https://youtube.com/live/ZFs5DOvlLR4
Built a very basic button and jog wheel UI in very roughly the same configuration as the physical dial. Definitely calling this a win for Observation.
Now I need to add actions for the button presses and dial events. Luckily I should be able to use some code from a previous physical input project to help with that
#100DaysOfSwiftUI #SwiftUI #macOS #DevLife
I feel like i can use #lambas, #anonymousFunctions, or #closures (whatever the current language calls them) all day long after catching on.. but when i read about them in a language i haven't touched in awhile, i get confused..
🎉 I just finished Day 9 of the #100DaysOfSwiftUI at https://www.hackingwithswift.com/100/swiftui/9 via @twostraws
I never realized how fugly `navigationSubtitle` looks in a sheet on macOS. Did nobody test this?
