41554 blogs · [ { "id": "01a0d842-de25-72b5-a6b9-4d5dd2514f90", "title": "ArrangementView: Think Before You Arrange", "url": "https://fatbobman.com/en/posts/arrangementview-think-before-you-arrange/", "published_at": "2026-09-23T14:00:00+00:00" }, { "id": "01a0c50c-841e-704a-8772-9c346b89db74", "title": "A “Native” Debate Over SwiftUI Animation - Fatbobman's Swift Weekly #154", "url": "https://fatbobman.com/en/weekly/issue-154/", "published_at": "2026-09-21T14:00:00+00:00" }, { "id": "01a0b0cd-6baf-725a-88b6-4d10fcf65ae3", "title": "From pbxproj to xcproj: Xcode Project Configuration Gets a JSON Format", "url": "https://fatbobman.com/en/posts/from-pbxproj-to-xcproj/", "published_at": "2026-09-17T14:30:00+00:00" }, { "id": "01a0b0cd-6baf-725a-88b6-4d10fd14c031", "title": "The Opportunities and Challenges of iPhone Duo - Fatbobman's Swift Weekly #153", "url": "https://fatbobman.com/en/weekly/issue-153/", "published_at": "2026-09-14T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a4091e18", "title": "When the Mac mini’s Price Is No Longer Mini - Fatbobman's Swift Weekly #152", "url": "https://fatbobman.com/en/weekly/issue-152/", "published_at": "2026-09-07T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a4c2642e", "title": "SwiftData: Optimization Starts with Modeling", "url": "https://fatbobman.com/en/posts/swiftdata-optimization-starts-with-modeling/", "published_at": "2026-09-02T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a4e69989", "title": "Just a Few Keystrokes - Fatbobman's Swift Weekly #151", "url": "https://fatbobman.com/en/weekly/issue-151/", "published_at": "2026-08-31T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a54b095c", "title": "AI Wanted to Give Up. The Human Didn’t. - Fatbobman's Swift Weekly #150", "url": "https://fatbobman.com/en/weekly/issue-150/", "published_at": "2026-08-24T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a5eaaa6b", "title": "From Using AI to Delegating Work to AI (Part 1): Why I No Longer Wait for Stronger Models", "url": "https://fatbobman.com/en/posts/from-using-ai-to-delegating-work-to-ai/", "published_at": "2026-08-19T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a6c428ee", "title": "From Using AI to Delegating Work to AI (Part 2): What I Mean by Delegability", "url": "https://fatbobman.com/en/posts/from-using-ai-to-delegating-work-to-ai-2/", "published_at": "2026-08-19T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a72a4ea4", "title": "Who Is the Slower App Review Process Actually Stopping? - Fatbobman's Swift Weekly #149", "url": "https://fatbobman.com/en/weekly/issue-149/", "published_at": "2026-08-17T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a7fddb5f", "title": "ContentBuilder Explained: The Secret Behind SwiftUI's Type-Checking Speedup", "url": "https://fatbobman.com/en/posts/contentbuilder-explained/", "published_at": "2026-08-12T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a88c97cf", "title": "Apple Intelligence Has Passed Chinese Government Review and Is Coming to China - Fatbobman's Swift Weekly #148", "url": "https://fatbobman.com/en/weekly/issue-148/", "published_at": "2026-08-10T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a89fa5bd", "title": "Controlling Orphans in SwiftUI Text: Uncovering the Undocumented avoidsOrphans", "url": "https://fatbobman.com/en/posts/controlling-orphans-in-swiftui-text/", "published_at": "2026-08-06T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4a93ab4a2", "title": "Liquid Glass: A Field Guide to UIKit Compatibility Pitfalls", "url": "https://fatbobman.com/en/posts/liquid-glass-a-field-guide-to-uikit-compatibility-pitfalls/", "published_at": "2026-07-29T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4aa253924", "title": "Debugging Notes on Two SwiftUI Animation Bugs", "url": "https://fatbobman.com/en/posts/debugging-notes-on-two-swiftui-animation-bugs/", "published_at": "2026-07-01T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ab22f4dd", "title": "From Size Class to Available Space: Is horizontalSizeClass Still Reliable?", "url": "https://fatbobman.com/en/posts/from-size-class-to-available-space/", "published_at": "2026-06-17T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ac1357c7", "title": "Core Data + Observation: From Property-Level Reactivity to a Freer Mental Model", "url": "https://fatbobman.com/en/posts/core-data-observation-freer-mental-model/", "published_at": "2026-06-03T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ac4da379", "title": "Taming Row Height and Spacing Jumps in SwiftUI List with a Custom Layout", "url": "https://fatbobman.com/en/posts/taming-row-height-and-spacing-jumps/", "published_at": "2026-05-27T14:00:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ad43494b", "title": "【Tips】Why Child @State Won't Update from Parent in SwiftUI", "url": "https://fatbobman.com/en/snippet/why-child-state-won-not-update-from-parent-in-swiftui/", "published_at": "2025-12-18T08:21:01+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ad6630f3", "title": "【Tips】Fixing GTM Events in Partytown: Forwarding dataLayer & gtag", "url": "https://fatbobman.com/en/snippet/how-to-forward-custom-tag-events-to-gtm-running-inside-partytown/", "published_at": "2025-12-08T14:20:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ad767d09", "title": "【Tips】Faster Swift 6 Builds: Enabling SwiftSyntax Prebuilts", "url": "https://fatbobman.com/en/snippet/speed-up-compilation-with-prebuilt-swift-syntax/", "published_at": "2025-06-06T00:20:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ae16d3bb", "title": "【Tips】Swift package Access Level: Sharing Code Across Targets Securely", "url": "https://fatbobman.com/en/snippet/controlling-access-within-a-swift-package/", "published_at": "2025-05-08T14:21:01+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4ae637058", "title": "【Tips】Fixing SwiftLint Configuration for Monorepos in VSCode & Cursor", "url": "https://fatbobman.com/en/snippet/fixing-swiftlint-configuration-not-working-in-monorepo-projects/", "published_at": "2025-04-24T14:20:00+00:00" }, { "id": "01a08777-15dc-7040-a984-20c4aecab97c", "title": "【Tips】VSCode/Cursor Core Data: Manually Compiling xcdatamodeld for Tests", "url": "https://fatbobman.com/en/snippet/how-to-test-core-data-code-in-vscode-cursor/", "published_at": "2025-04-15T14:21:01+00:00" } ] posts Claim your blog
Back to fatbobman.com
Blog · corpus.blog/blogs/fatbobman.com/posts

fatbobman.com

fatbobman.com

2026

2025