According to 9TO5Mac's report, Apple is adding MCP (Model Context Protocol) support to its ecosystem to enable agentic AI capabilities. The implementation path closely aligns with our speculation in Weekly #077| Fatbobman's Blog
One year after the release of Swift 6.0, Swift 6 welcomes its second major version update. Beyond the much-anticipated Default Actor Isolation, Swift 6.2 brings numerous practical new features.| fatbobman.com
Tomorrow marks the official release of iOS 26, and a large number of users are likely to upgrade immediately to experience the brand-new Liquid Glass design language. Compared to previous years, this year’s adaptation workload is significantly heavier—especially for apps with complex interactions, which may face many unexpected issues.| Fatbobman's Blog
Google has announced that starting September 2026, it will extend Play Store developer verification requirements to all Android app installation methods, fundamentally altering the platform's open distribution model. This policy requires all developers distributing apps outside Google Play to register with Google, provide government-issued identification, and pay fees. The policy will first be implemented in Brazil, Indonesia, Singapore, and Thailand, before expanding globally in 2027. This r...| Fatbobman's Blog
While Swift has offered strict concurrency checking for some time, many of Apple's official APIs have yet to be fully adapted, and this situation may persist for quite a while. As Swift 6 gradually gains adoption, this problem becomes increasingly prominent: developers want to benefit from the concurrency safety guarantees provided by the Swift compiler, while struggling with how to make their code meet compilation requirements. This article will demonstrate the clever use of MainActor.assume...| Fatbobman's Blog
In the blink of an eye, this newsletter has reached its 100th issue. Looking back to the first issue in October 2023, I wasn't sure I could keep this going for so long. Yet over these two years, through consistent creation, I've gained so much.| fatbobman.com
Patton is 13 years old now. While he usually displays far more energy and vitality than other dogs his age, various health issues have inevitably emerged as he's gotten older. Recently, Patton was diagnosed with pulmonary hypertension, and the vet prescribed a targeted treatment plan. Just as I was feeling relieved that the treatment seemed to be working, last Monday afternoon, Patton suddenly couldn't stand, was drooling excessively, and showed clear signs of cardiac distress.| fatbobman.com
Swift's concurrency model introduces numerous keywords, some of which are similar in naming and purpose, often causing confusion among developers. This article examines several keywords related to cross-isolation domain passing in Swift concurrency: Sendable, @unchecked Sendable, @Sendable, sending, and nonsending, helping you understand their respective roles and use cases.| Fatbobman's Blog
Swift 6.2’s Default Actor Isolation reduces boilerplate by inferring isolation for unmarked code, but brings new actor-boundary rules and macro challenges| fatbobman.com
Compared to some open-source frameworks, Core Data and SwiftData, despite having Apple's official endorsement, often leave developers helpless when exceptions occur due to their "black box" nature, making it difficult to quickly locate problems and find effective solutions. This article documents an app startup timeout incident caused by Core Data model migration, shares the solution, and deeply analyzes the underlying causes.| Fatbobman's Blog
Last week I went to the theater to watch *F1*, Apple’s latest original movie—and the experience far exceeded my expectations. While the storyline was admittedly a bit thin, the sheer sense of immersion and racing excitement it delivered easily justified the ticket price. When Brad Pitt’s APXGP car thundered down Silverstone Circuit, the roar of the engine shaking the IMAX sound system transported me back to those days, over 20 years ago, when I’d sit glued to the TV cheering on the fi...| fatbobman.com
Following the release of the new Liquid Glass style, Apple promptly introduced Icon Composer, a tool for creating icons that comply with the Liquid Glass standard. According to Apple's introduction, Icon Composer appears straightforward to use. It essentially requires users to place images in layers, and that's it. However, in practice, several details require careful attention. Megabits'll use his app as an example to briefly describe the issues I encountered during the process.| Fatbobman's Blog
After installing iOS 26 beta 3, users quickly noticed that the Liquid Glass effect is no longer as translucent as in the previous two beta releases. This change has sparked two opposing perspectives: some see it as a sign that Apple’s flagship design concept from WWDC 2025 is facing challenges, while others view it as evidence of Apple’s responsiveness to user experience data and its ability to iterate quickly. Either way, such a significant UI adjustment within a short time underscores t...| fatbobman.com
Text is heavily used in SwiftUI. Compared to its counterparts in UIKit/AppKit, Text requires no configuration and works out of the box, but this also means developers lose more control over it. In this article, I will demonstrate through a real-world case study how to accomplish seemingly impossible tasks with SwiftUI's approach - finding the first view among a given set where text is not truncated, and using it as the required size.| Fatbobman's Blog
Since mid-June, my city has also experienced unusually high temperatures. Although 30-31°C may not seem dramatic compared to other regions that routinely see 35-40+°C, for me, accustomed to temperatures in the 20s, this heat has become quite unbearable.| fatbobman.com
A month-long journey with Claude Code reveals how AI reshapes coding, and why developers should stay actively involved to truly grow and avoid over-reliance.| fatbobman.com
Discover Swift 6.2’s new concurrency-safe NotificationCenter.Message APIs to ensure type safety, eliminate runtime errors, and streamline notification handling.| fatbobman.com
Discover how SwiftUI's ZStack uses layoutPriority to compute size, allowing dynamic container resizing by toggling view importance—no ifs, no switches.| fatbobman.com
WWDC 2025 arrived right on schedule. Apple released all session videos at once, allowing developers to dive into the new features and APIs they care about without delay. After skimming through them over the past two days, my initial takeaway for this year’s conference is: as expected, yet unexpected.| Fatbobman's Blog
Ahead of WWDC 2025, the Swift official website has undergone a comprehensive redesign. The new design aims to enhance user-friendliness, highlight Swift’s technical strengths, and make it easier for beginners to get started. As a programming language deeply connected to the Apple ecosystem, the website naturally incorporates strong Apple-style visual elements.| fatbobman.com
Enable prebuilt SwiftSyntax in Swift 6.1.1+ to speed up macro builds by avoiding source compilation—works with Xcode and command-line builds| Fatbobman's Blog
Notepad.exe is a native macOS Swift editor for fast, lightweight coding. Run @main projects, use per-file Toolchains, and test SPM libraries effortlessly| fatbobman.com
Swift 5.9 adds the package access modifier to limit API visibility to within the same package, improving modularity and encapsulation without using public| Fatbobman's Blog
Master Swift’s Measurement API for safe unit conversion, precise formatting, and custom unit support—perfect for building internationalized, user-friendly iOS apps| fatbobman.com
Fix SwiftLint not working in Swift monorepos by setting config search paths in VSCode and specifying included directories in .swiftlint.yml| Fatbobman's Blog
Learn how to test Core Data in VSCode or Cursor by configuring the Xcode toolchain and manually converting xcdatamodeld to momd with xcrun momc.| fatbobman.com
Swift 6.1 now supports official WebAssembly builds via SwiftWasm—no patches needed. Use JavaScriptKit for seamless Swift–JavaScript interaction in WASM apps.| fatbobman.com