Herald feels much more content-focused out of the box on iOS 26, thanks to the floating toolbar and tab bar. Especially loving the progressive blur scroll-edge effects.
June 10, 2025 at 10:40 PM
Herald feels much more content-focused out of the box on iOS 26, thanks to the floating toolbar and tab bar. Especially loving the progressive blur scroll-edge effects.
Pleasantly surprised by how smooth it was to adapt Herald from iOS to macOS with SwiftUI – my first real Mac app since the AppKit + Objective-C days. The RSS feeds sidebar is feeling quite natural. Still looking for testers, and there's still plenty more to do!
Pleasantly surprised by how smooth it was to adapt Herald from iOS to macOS with SwiftUI – my first real Mac app since the AppKit + Objective-C days. The RSS feeds sidebar is feeling quite natural. Still looking for testers, and there's still plenty more to do!
I'd be curious to know what's normal or expected here too. I'm seeing 26.6% for the same time period (past week) for a SwiftData + CloudKit side-project that's only in TestFlight, which I thought was high at a glance. ~32%+ for 1M/3M
January 14, 2025 at 7:29 PM
I'd be curious to know what's normal or expected here too. I'm seeing 26.6% for the same time period (past week) for a SwiftData + CloudKit side-project that's only in TestFlight, which I thought was high at a glance. ~32%+ for 1M/3M
You can usually structure views to avoid this, and more (but not all) view modifiers now support a toggle for an inert variant. But if you have to, you can avoid type-erasing via `AnyView` by annotating your function with @ViewBuilder and using an explicit `if` statement instead of a ternary
December 18, 2024 at 10:45 AM
You can usually structure views to avoid this, and more (but not all) view modifiers now support a toggle for an inert variant. But if you have to, you can avoid type-erasing via `AnyView` by annotating your function with @ViewBuilder and using an explicit `if` statement instead of a ternary
My most frequent crash occurs within #SwiftData but I’ve not a clue what to make of the stack trace. An assertion failure in `PersistentModel.keyPathToString(keypath:)` while deleting models using a predicate? #iOSDev
April 27, 2024 at 9:49 PM
My most frequent crash occurs within #SwiftData but I’ve not a clue what to make of the stack trace. An assertion failure in `PersistentModel.keyPathToString(keypath:)` while deleting models using a predicate? #iOSDev
Little nervous, but it’s time to TestFlight my RSS news reader for iOS & visionOS. It’s designed as a feed for stress-free, anti-completionist reading, without unread counts.
Little nervous, but it’s time to TestFlight my RSS news reader for iOS & visionOS. It’s designed as a feed for stress-free, anti-completionist reading, without unread counts.
Finally 100% completed Assassin's Creed: Mirage. Skipped over the recent sprawling entries and came back just in time for their return to the basics – first I've played since Black Flag. Golden Age Baghdad was an excellent backdrop, but the characters felt a bit last-gen/wooden. Still, fun enough!
November 16, 2023 at 8:55 PM
Finally 100% completed Assassin's Creed: Mirage. Skipped over the recent sprawling entries and came back just in time for their return to the basics – first I've played since Black Flag. Golden Age Baghdad was an excellent backdrop, but the characters felt a bit last-gen/wooden. Still, fun enough!
This iOS app started life with Twitter’s API, migrated to Mastodon and I’ve now forked it to see what the Bluesky/AT API would be like. Basic feed’s working, lots to go
April 29, 2023 at 10:49 PM
This iOS app started life with Twitter’s API, migrated to Mastodon and I’ve now forked it to see what the Bluesky/AT API would be like. Basic feed’s working, lots to go