͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ­ ­ ­ ­ ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Issue #113


Hello everyone!

I hope everyone's having a productive summer! I've got two fantastic podcast episodes covering iOS 26 features and Swift Testing evolution, plus some exciting open source news.


Great to have Kaya Thomas back on EmpowerApps! You might remember her from our 2020 episode about notifications- she's now back as a founder building MilkDiary after becoming a mom last year.

MilkDiary tackles comprehensive feeding tracking for the first year of parenting. Kaya found existing apps too rigid and fragmented - they might handle one aspect well but fail when feeding methods change or you need to track the full journey from pumping to storage to feeding.

Key technical highlights:

  • Foundation Models: Uses iOS 26's on-device models for voice/text logging with guided generation, avoiding cloud privacy concerns

  • AlarmKit: Replaces notifications for immediate actions that shouldn't be easily dismissed

  • Speech Analyzer: Leverages the improved on-device transcription model

  • Data Architecture: Moved from SwiftData to GRDB due to CloudKit sharing limitations and predicate handling issues

  • Multiple Children: Supports twins/multiples without profile switching

Kaya's approach of "building in community" - involving target users throughout development - really resonated with me. She's also using Claude for code review and test generation, treating it like a helpful intern rather than a replacement for thinking. Catch this episode here:

https://brightdigit.com/episodes/203-milk-diary-with-kaya-thomas/

Rachel Brindle joined us to discuss Swift Testing's maturity and what's new in Swift 6.2. As maintainer of Quick, Nimble, and Swift Fakes, plus her role on the Swift Testing Workgroup, Rachel has deep insight into the testing ecosystem.

Swift Testing advantages:

  • Better DSL with @Test macro and human-readable function names (using backticks for spaces/punctuation)

  • Concurrent execution by default (forces better test isolation)

  • Open development process through the Testing Workgroup

Migration considerations: Tests using shared global state are difficult to migrate due to concurrent execution. Rachel recommends starting new components with Swift Testing while keeping existing XCTest suites in place.

Swift 6.2 new features:

  • Exit Tests: Verify command-line tools exit correctly (non-iOS only due to sandboxing)

  • Range Confirmations: Expect callbacks within ranges (useful for automation tests)

  • Attachments: Add debugging artifacts to test results

SwiftUI Testing Reality: Still limited to automation tests. While tools like ViewInspector help, first-party unit testing support remains absent despite frequent WWDC lab requests. Rachel's working on polling confirmations (think expect(...).eventually.to(equal(...))) which could be game-changing for async testing patterns. Check out the episode here:
https://brightdigit.com/episodes/202-swift-testing-with-rachel-brindle/

How Are You Using AI?

I can’t believe it’s been over 2 years since I did my April Fools' ChatGPT interview. I've been experimenting heavily with AI coding tools lately and I'm curious about your experiences. We've covered AI on the podcast before such as discussing AI with Kris Slazinski - but now I want to hear from the community about practical day-to-day usage:

What's your current AI setup?

  • Are you using GitHub Copilot with Xcode? Claude? Something else?

  • Are you using it outside of coding? (marketing, email, etc…)

Where do you find AI most/least helpful?

  • Code generation vs. review vs. documentation?

  • Any particular patterns or frameworks where AI struggles with Swift/iOS?

What's your integration strategy?

  • Do you trust AI-generated unit tests?

  • How do you handle AI suggestions that use outdated patterns?

Quality control approaches?

  • How do you catch hallucinated APIs?

  • Any tools or processes for validating AI-generated code?

I'm particularly interested in practical experiences rather than theoretical takes. Hit reply and share your stories - the good, the frustrating, and the unexpected. I'm considering a follow-up episode on community AI experiences if there's enough interest.

Reply to this email to let me know.

SyndiKit Joins Swift Source Compatibility List

SyndiKit has been added to the Swift Source Compatibility List! This means our RSS parsing library is now part of Swift's own CI infrastructure, helping ensure the language stays backward compatible as it evolves.

For those unfamiliar, SyndiKit provides a unified API for parsing RSS 2.0, Atom, and JSONFeed formats, with support for iTunes podcasts, YouTube channels, and WordPress exports. Being included alongside packages like SwiftNIO and RxSwift is significant validation - the Swift team maintains strict criteria for this list, requiring demonstrated value, quality, and committed maintainership.

If you’re interested in the Swift Source Compatibility List check out the page here:

https://www.swift.org/documentation/source-compatibility/

If you're working with syndication feeds in your apps, SyndiKit abstracts away format complexity so you can focus on your app logic. Check it out at:

github.com/brightdigit/SyndiKit.

Please do let me know how you use AI and what cool stuff you’re building for the release of the new OSes this fall.

Thanks,

Leo

Copyright (C) 2025 BrightDigit. All rights reserved.


Our mailing address is:


Want to change how you receive these emails?
You can update your preferences or unsubscribe

Email Marketing Powered by Mailchimp