AI Mastery in SwiftUI book updates

  • Oct 24, 2025

October 24, 2025 Update

💻 Digital Nomading

After spending some time in Utah with friends, family, and coworkers, my next stop was Vermont to visit my parents and more relatives.

This is the town I grew up in: Milton, Vermont:

Vermont

This has given me more time to slow down and focus on wrapping up "AI Mastery in SwiftUI". 😃

📘 AI Mastery in SwiftUI

My beta readers have submitted a lot of great feedback.

Some caught grammatical errors. (That's what happens when you forget to run Apple's new proofreading tools.)

Some caught things that were taught out of order. (Remember when I changed the order of how things were taught? Well, I forgot to shift around the pages, too!)

I sent the proofreaders who submitted feedback another copy of the book to look at with a TON of changes and updates from their notes.

❤️ Thank you to everyone who submitted feedback!

🛠️Companion Projects

While developing companion projects to go along with the book, it really revealed some gaps and unknowns that the book hadn't covered.

Especially when trying to work with dates.

So I went back to the book and worked on it some more!

The companion projects include Tools that the AI model will use to interact with the user's Calendar app (create, read, update, delete events) and another app with a Tool to work with the user's Reminders app.

You can use these apps to get a better idea of how to create tools that integrate with the FoundationModels framework's language model.

Here are my update notes to give you more of an idea of how the book has changed:

📝 Book Updates

  • Page 14 - Simplified "What are ways FoundationModels can enhance your app?"

  • Page 16 - ⭐️New page: "What FoundationModels can NOT do" (And what you probably are actually looking for.)

  • Page 18 - ⭐️New page: "Two Ways to Respond" (All at once and Streaming)

  • Page 23 - ⭐️New page: "How does the streamResponse really work?"

  • Pages 24-29 - ⭐️New section on "LanguageModelSession Limits"

  • Page 30 - Rewritten for clarity: "What's Next?"

  • Model Availability Chapter - Rewritten for clarity. (⭐️many new pages)

  • Prompt Chapter

    • Pages 44-53 - Many more examples on how to use the PromptBuilder and PromptRepresentable

    • Page 54 - ⭐️New section: "Prewarming a Prompt"

    • Page 58 - ⭐️New section: "Prompt Writing Tips"

  • Language Model Session Chapter

    • Page 72 - ⭐️New page: "Could I just store the LanguageModelSession in the Environment?"

    • Pages 73-75 - Simplified the topic on Transcripts since there's a whole chapter on it later.

    • Page 79 - Simplified some language around the generation error descriptions.

    • Page 80 - ⭐️New section: "Guardrail Violations"

  • Instructions Chapter

    • Clarified some of the concepts in the Introduction section based on feedback.

    • Page 99 - Finished section: "More Examples" - Goes into all the ways you can use the InstructionsBuilder using a variety of different instructions for different scenarios for each one.

    • Page 106 - Updated "Instructions Tips"

  • Generation Options Chapter

    • Pages 109-110 - I wasn't happy with how this chapter was introduced, so I added more pages to try to better explain some concepts before moving further.

    • Chapter Reorganization: I reorganized the structure of this chapter into 3 sections:

      • Sampling

      • Response Tokens

      • Temperature

    • Some of these topics can be confusing, so I spent more time detailing them with diagrams and examples.

  • Guided Generation Chapter

    • This whole chapter kind of exploded. 💥 😃

      Guided Generation is the LanguageModelSession's SUPERPOWER and will make your lives way easier, so I wanted to spend more time on it.

    • Chapter Reorganization: Broke down the content into new sections:

      • How Guided Generation Works

      • Better Guidance - Supercharge your generations

      • (⭐️ New) Working with Dates - (Dates are not supported, but here is a workaround for better success)

      • (⭐️ New) Streaming with Generables (It's a little trickier, but I'll show you how)

      • Streaming and Identifiable

      • (⭐️ New) Streaming to Generable Arrays (Again, trickier, but there is a way)

      • Streaming User Experience - Kind of a bonus section with tips and tricks and animations.

  • Tools Chapter

    • Pages 170-179 - I wanted to differentiate between a Tool with a string response and a Swift object response.

    • (⭐️ New) Page 180 - New section: "Tool Error Handling" - This went a little deeper than I thought it would because I wanted to make sure you could set up your tools with errors you can easily catch and understand.

  • Transcripts Chapter (⭐️ New)

    • I decided this topic should have its own chapter, and it should be at the end of the book because it touches upon all the objects you have learned up to this point.

    • Chapter organization:

      • Intro

      • Debugging with Transcripts - I wrote this, then completely rewrote it, giving you a much EASIER way to debug your sessions with transcripts.

      • New Sessions from Transcripts - I cover the 2 common ways:

        • Summarization Strategy

        • Persist & Restore Conversations

🙌Release is Tomorrow!

Yes, Saturday, October 24th (2025) "AI Mastery in SwiftUI" will be available for purchase!

I'll be finalizing everything today and will send an email to everyone subscribed once it's available.

AI Mastery in SwiftUI

Thanks, everyone, for your feedback and patience!