Probably one of my favorite background gradients in 40 Below. Dark mode + cold temps. #iosdev #swiftui #weather

Adding file logging (with rotating logs) and the ability to email those logs to support has been such a boon for when I run into weirdness in 40 Below out in the world.

It's also led to me sending a few sweary emails to myself. 😄

#iosdev #dev #swift #swiftui

O Poirot acabou de passar 100 estrelas no GitHub ⭐

Um app nativo pra macOS pra investigar sessões do Claude Code. Construí num único fim de semana com Swift 6, SwiftUI e Swift Testing. Menos de 6 MB, 100% offline, sem rastreamento.

O feedback e a adoção da comunidade tem sido maior do que eu esperava. Obrigado a todos que testaram.

Open source, licença MIT.

https://github.com/leonardocardoso/poirot

#OpenSource #macOS #SwiftUI #Swift

GitHub - leonardocardoso/poirot: A native macOS companion for Claude Code that lets you browse sessions, explore diffs, and re-run commands.

A native macOS companion for Claude Code that lets you browse sessions, explore diffs, and re-run commands. - leonardocardoso/poirot

GitHub

I realized that there's a VoiceOver issue with SwiftUI Text(timerInterval:).

If it's more than 1 hour away VO will say "hours", "minutes", and "seconds". For example, “3 hours, 2 minutes, 12 seconds”.

But if it’s less than 1 hour left it won’t say any of them! For example, “2 12”. That could easily be confused for a time instead of time remaining.

FB22301456

#accessibility #a11y #SwiftUI

Words Inside is back! Currently for iPhone only as per the original 2013 version but the iPad version is almost read I just wanted to get a review. Back in 2013 cpus couldn’t generate the word lists on the fly so I had to curate word lists from a utility app also written in Objective-C. Now though I ported that app to Swift and all iOS devices can create the grids and word lists on the fly. Which means you can create your own Word Grids in this 2026 version 2.0 update. It’s very cool. Enjoy. #iOSDevices #AppUpdate #Swift #iosdev #swiftui

https://apps.apple.com/us/app/words-inside/id595674495

Natalia writes a wonderful book and is an extremely helpful person to follow on social media @nilcoalescing.com She’s a fountain of brilliant tips. Here is a talk with lots of useful advice for #SwiftUI developers. Especially recommended to all my students. https://youtu.be/Y_Ov-ddMb24?si=xphCNLV-4AibvIVX
The SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls

YouTube

Kiddo is stirring, so stopping early, but got the start of an email composed. Tomorrow night, let's flesh out the anti-abuse store so sent emails can be tracked responsibly. See you then!

🔜 Tomorrow’s stream: https://youtube.com/live/2T_xNmnYT0A
⏮️ 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

Late Night Silent Completions: Jiiiii — Part 852

YouTube

I'm making a seasonal anime guide app, in the open for all to experience and learn from.

Let's start assembling invite emails!

#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #SwiftLang #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush

Come chill with me: https://youtube.com/live/AquC5ndegG8

Late Night Silent Completions: Jiiiii — Part 851

YouTube
哈哈哈哈哈我发现 NetNewsWire 的 app 首页右下角的 + 按钮也是有方形 shadow!我昨天还是前天才解决了这个问题!
#SwiftUI

#SwiftLang #SwiftUI #concurrency task priority inversion question.

A SwiftUI view has a .task(id: ) modifier.
The task, among other things, calls an async func

.task(id: item) {
// ...
if let item {
value = await item.someFunction()
}
// ...
}

someFunction() calls someOtherFunction() [not async] and
someOtherFunction() eventually does this:

if let imgPreview = CGImageSourceCreateThumbnailAtIndex(...) { ... }

At runtime in Xcode I see this notice on the above line.

[Internal] Thread running at User-initiated quality-of-service
class waiting on a lower QoS thread running at Default
quality-of-service class. Investigate ways to avoid
priority inversions

Does not item.someFunction() get the same priority as the
task? Where does the lower QoS thread come from?

And how can I learn more about it. And fix it?