Mike Apurin
banner
auramagi.bsky.social
Mike Apurin
@auramagi.bsky.social
I make iOS apps.
Located in Kyoto, Japan.

🦣 Mastodon
https://hachyderm.io/@auramagi

📝 Blog (rarely active)
https://apurin.me

📚 Every Word: iOS Audiobook Player
@everywordapp.com
#WWDC25 in Markdown: transcripts, code snippets, resource links for all sessions

gist.github.com/auramagi/9c0...
Transcripts from all WWDC 2025 sessions
Transcripts from all WWDC 2025 sessions. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
June 10, 2025 at 5:00 AM
My WWDC wishlist is basically the same as last year:
- SwiftUI needs to get fundamentally more performant
- App Intents should take over even more of the system
June 5, 2025 at 3:42 AM
Back from my social media break, did I miss anything?
June 4, 2025 at 4:53 AM
Reposted by Mike Apurin
There were some interesting concurrency-related changes in Swift 6.1! Check them out.

www.massicotte.org/concurrency-...
New Concurrency Stuff with 6.1
At long last, there now a beta release of Swift 6.1! There are a few interesting things in here for those concurrency enthusiasts out there, and I wanted to go over them quickly.
www.massicotte.org
February 23, 2025 at 12:20 PM
It's time
January 16, 2025 at 1:22 AM
Me 🤝 _UINavigationBarPalette
January 15, 2025 at 6:14 AM
Giant e-ink posters — I’ve been waiting for this product category to emerge for so long.

www.youtube.com/watch?v=GZov...
inkposter.com
World's First E Ink Art Frame - The Pocketbook InkPoster Launch
YouTube video by Vladimir Kostek
www.youtube.com
January 15, 2025 at 3:06 AM
You might assume that since Binding conditionally conforms to Sendable and has an initializer that seems isolation-aware, it would be... sendable.

It isn’t.

Touching the value outside its intended isolation is unsafe. In Swift 6, this will crash your app for Bindings created with .init(get:set).
December 30, 2024 at 8:40 PM
Working on a redesign, and I really like these bigger cards for the listening section. But showing the title and author below the cover feels a bit too Jacobs by Marc Jacobs for Marc by Marc Jacobs.
December 11, 2024 at 12:47 AM
There's a neat symbol often used for audiobooks:
℗ (U+2117 sound recording copyright)

In Apple's fonts, it looks bad: small and off-center. A replacement is Ⓟ (U+24C5 circled letter P), but that's awkward for editable fields.

So, for my app I ship a font consisting of just that single symbol. 🙃
December 6, 2024 at 2:27 PM
Weekend plans just arrived #WindAndTruth
December 6, 2024 at 12:59 PM
Open Bluesky app
Want to view new posts
Tap home to scroll to top
Tap home the second time to refresh
It refreshes
And then refreshes again
Every time
December 6, 2024 at 1:04 AM
UINavigationController must be the most cursed component in all of iOS.
December 5, 2024 at 9:59 AM
Reposted by Mike Apurin
Thought he could be a lil more cozy :)
November 28, 2024 at 1:57 AM
TIL: Code after the @.Previewable macro doesn't require a return statement, despite what the docs suggest.
This is because the macro expands to a wrapper struct, with other code placed in the body using a @.ViewBuilder. Neat!
November 28, 2024 at 6:25 AM
See, the reason everyone keeps making dumb decisions in Silo S1 is actually simple: the scrubbers failed ages ago, and now everyone has generational brain damage from chronic high CO2 exposure.
November 28, 2024 at 5:46 AM
Took the opportunity to brush up the paywall. It's nothing complex, but the top section can now be configured remotely with custom text, colors, and Markdown for the main text.
November 28, 2024 at 1:16 AM
How difficult is a CarPlay entitlement nowadays for an audio player app? Any hidden gotchas?
November 28, 2024 at 1:10 AM
Reposted by Mike Apurin
Every Word joins #IndieAppSales this year for a #BlackFriday sale!
For the first time ever, Every Word Plus is discounted 🎉
- One year: 50% off with offer code BLACKFRIDAY24
- Lifetime: 25% off
Available now through December 3rd — don’t miss out!
November 27, 2024 at 4:14 PM
Reposted by Mike Apurin
Hi Bluesky! 👋

Every Word is a player for your DRM-free audiobooks. Import MP3 and M4B files to enjoy your collection with features like silence shortening, adjustable speeds, chapter navigation, listening stats — all in a sleek, user-friendly design.

Available for iOS and iPadOS.
November 27, 2024 at 4:11 PM
With UITab extensively replacing UITabBarController APIs in iOS 18, it feels like older methods will be deprecated in a couple of releases.
November 21, 2024 at 1:41 AM
If I listen to exactly 4 hours of podcasts in Overcast every day until the end of this year, I can still catch up to 2023.
November 21, 2024 at 1:19 AM
Reposted by Mike Apurin
Not too bad. Here are some good starter packs:

- Mobile Devs: go.bsky.app/7wmo12t

- Apple Developers  I: go.bsky.app/66G7TY4

- Apple Developers  II: go.bsky.app/M8xLgeS
November 20, 2024 at 9:35 AM
So, how active is iOS dev community here?
November 20, 2024 at 7:08 AM