Fatbobman's Swift Weekly #067
Weekly Comment
Weekly Newsletter Progress and Blog Updates On the evening of the latest weekly newsletter's release, the email subscription count surpassed 3,000. Combined with other distribution channels, each weekly newsletter now reaches at least 6,000 readers in the week following its publication. While this may not be an extraordinary achievement, it has far exceeded my initial expectations when I started this journey. The key reason the weekly newsletter has gained such a following is the constant flow of high-quality content from the community. Over the past year, although some excellent authors have reduced their contributions for various reasons, new authors consistently bring fresh, outstanding articles every month. In most issues, I even find myself struggling to choose among so many great pieces—a "happy dilemma" that leaves me deeply gratified. Of course, reader support is another crucial factor in the newsletter's continued growth. Receiving positive feedback from readers and seeing some articles gain more visibility thanks to recommendations in the newsletter constantly remind me of the value of this work. Last week, I made a significant adjustment to the blog's architecture, migrating it from the traditional cloud hosting + CDN model to a Serverless setup. This change has greatly simplified the deployment process and reduced deployment time, giving me an opportunity to optimize part of the blog’s code. During this transition, some readers may have experienced issues accessing the blog due to DNS propagation delays. Here are a few potential solutions to resolve this:
Additionally, I have introduced a new "Quick Tips" section on the blog. This section is dedicated to concise, focused articles that address specific problems. These articles avoid in-depth discussions or theoretical explanations, allowing readers to quickly find practical solutions. Thank you to every reader for your support and feedback. I look forward to continuing this journey together and witnessing the creation of even more amazing content in the future! Previous Issue|Newsletter Archive If you appreciate my work and want to promote your product to the Swift and iOS developer community, sponsoring my platform could be an excellent opportunity for you. Your support through Patreon, or Buy Me a Coffee helps keep this newsletter and blog running. Thank you for finding this content helpful! OriginalsRecent SelectionsAdvanced Navigation Destinations in SwiftUISince the introduction of Getting Git Revision Info Within Your iOS AppIn the fast-paced development cycle of modern projects, it’s often difficult for developers to pinpoint the exact branch or version when receiving feedback from testers or users. Rich Infante shares a simple yet effective method to address this challenge: by using a build script, you can embed the current Git commit hash and branch name into your app. This enables developers to quickly trace the state of the source code during debugging and version releases, providing a robust tool for version management. Uncovering and Solving a SwiftUI Text Animation BugSwiftUI is widely appreciated for its simplicity in creating animations, but sometimes, even with careful adjustments, views may not behave as expected. In this article, Omar Elsayed shares a problem encountered in a project where the
How a New Xcode 16 Feature Helped My Work Project Eliminate 66,000 Lines of CodeXcode 16 introduced the buildable folders feature, allowing direct file management through the file system and eliminating the need for complex references in Building a Weather API Backend with Swift Vapor: A Deep DiveMany Swift developers have considered trying Vapor for building backend services. Arrinal used SwiftUI and Vapor to create an open-source weather service project. Through two articles, he systematically explains how to apply Clean Architecture principles to build a maintainable and extensible SwiftUI app and provides a backend service to support it. In the frontend section, he demonstrates how dependency injection (Swinject) and Combine enable reactive data flow while maintaining a clear architecture. On the backend, he leverages Vapor’s modern features, such as async/await and middleware, to create a high-performance and standardized API service seamlessly integrated with the SwiftUI app. SwiftUI Lists: Present Rows of Data Explained with Code Examples
肘子的话周报进展与博客调整 在上期周报发布的当晚,邮件订阅量突破了 3000。结合其他发布渠道,每期周报在发布当周至少覆盖 6000 名以上的读者。虽然这一成绩谈不上多么卓越,但已远远超出了我创办之初的预期。 周报能够获得如此多读者的喜爱,最重要的原因在于社区中不断涌现的优质内容。过去一年中,虽然一些优秀的作者因种种原因减少了分享,但每个月都会有新的作者带来高质量的文章。在大多数情况下,我甚至会因为精彩文章过多而纠结于取舍,这种“幸福的烦恼”让我倍感欣慰。 当然,读者的支持也是周报持续发展的重要动力。无论是收到读者的正向反馈,还是看到一些作者的文章因周报推荐而获得更多阅读量,都让我感受到这份工作的意义和价值。 上周,我对博客架构进行了重要调整,将其从传统的云主机 + CDN 模式迁移到 Serverless。此举极大地简化了博客的部署流程和耗时,因此我也趁机优化了一部分代码。在此期间,由于 DNS 刷新的延迟问题,部分读者可能遇到页面无法访问的情况。以下是几种可能的解决办法:
此外,我在博客中新增了一个“小贴士”板块,用于分享内容简短、主题明确的文章。这类文章聚焦于快速解决实际问题,不涉及原理和讨论,方便读者以最快的方式找到答案。 感谢每一位读者的支持和反馈,期待未来能和大家一同见证更多精彩内容的诞生! 如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 爱发电,Buy Me a Coffee 支持我的创作。 原创近期推荐🪜 SwiftUI 高级导航 (Advanced Navigation Destinations in SwiftUI)SwiftUI 自引入 在 iOS 应用中获取 Git 修订信息 (Getting Git Revision info within your iOS App)在项目快速迭代的过程中,当开发者收到测试员或用户的反馈时,往往难以及时定位问题所在的分支或版本。Rich Infante 分享了一个简单且高效的方法:通过构建脚本,将当前代码库的 Git 提交哈希值、分支名称等信息嵌入到应用中,帮助开发者在调试和发布版本时快速追溯源代码的状态。 🪜 SwiftUI 文本动画 Bug 的发现与解决 (Uncovering and Solving a SwiftUI Text Animation Bug)SwiftUI 因其简洁易用的动画功能而广受开发者喜爱,但有时,即使我们精心调整,视图也未必能按预期实现动画效果。在这篇文章中,Omar Elsayed 分享了他在项目中遇到的一个问题:
Xcode 16 的新特性如何帮助我的项目减少 66,000 行代码 (How a New Xcode 16 Feature Helped My Work Project Eliminate 66,000 Lines of Code)Xcode 16 引入了可构建文件夹(buildable folders)特性,通过文件系统直接管理文件,取代了对 🪜 使用 Swift Vapor 构建天气 API 后端 (Building a Weather API Backend with Swift Vapor: A Deep Dive)我想很多 Swift 开发者在构建后端服务时或多或少都会想过尝试一下 Vapor。Arrinal 使用 SwiftUI 和 Vapor 构建了一个开源的天气服务项目。通过两篇文章,他系统地介绍了如何运用 Clean Architecture 的思想构建一个可维护、易扩展的 SwiftUI 应用,并用 Vapor 提供支持其功能的后端服务。在前端部分,他展示了如何通过依赖注入(Swinject)和 Combine 实现响应式数据流,同时保持架构清晰分层;在后端部分,他采用 Vapor 的现代特性(如 async/await 和中间件)构建了一个高性能、标准化的 API 服务,与 SwiftUI 应用无缝集成。 SwiftUI List:使用代码示例详解数据行展示 (SwiftUI Lists: Present Rows of Data Explained with Code Examples)
活动LET'S VISION 2025 创作者大会火热开票,席位有限,速来抢购!LET'S VISION 是中国最大、最具国际化的 Apple 生态盛会,被誉为 Apple 生态中的“超级盛典”,犹如 Apple 世界的 TGS、E3 或 ChinaJoy!本届大会将带领你走在 Apple 生态的最前沿,展示最创新、最尖端的产品与技术。无论你是开发者、创业者,还是行业精英,这将是你不可错过的年度盛会! 📅 大会日期:2025年3月1日-3月2日 📍 举办地点:上海鲜花港 🎯 本届主题:人工智能 + 空间计算 = 无限♾️ 在一个专为本次大会定制的 10000 平方米户外场地上,我们将为你呈现震撼的活动体验。大会现场不仅有能容纳超过 1000 人的主会场,还有 100+ 展位展示最前沿的技术和创新产品。今年,我们还特别设计了“极客相亲角”环节,为创业者提供与 VC 投资人、合作伙伴、行业领袖面对面交流的机会,帮助你拓展资源、结识合适的合作伙伴和人才。 🚀 特别嘉宾阵容: 今年我们邀请了全球顶尖行业专家和苹果官方团队亮相—— Apple 官方设计布道师 Sara, Hacking With Swift 创始人 Paul, Apple Design Award 2024 获奖者、Blackbox 创始人 Ryan, App Store Award 2024 获奖者、THRASHER 创始人 Mike, 以及更多重量级嘉宾。 🎤 丰富的活动内容:
这不仅是一个技术交流的平台,也是全球 Apple 生态中的创新者、领袖、投资者齐聚的舞台!你将亲身体验到最前沿的人工智能与空间计算技术,并与行业领袖们共同探讨未来科技的无限可能。 ⏳ 仅开放 1000个名额,一旦售完将不再补充!快来抢票,和我们一起见证未来科技的巅峰时刻! Welcome to my blog Fatbobman's Swift Blog( 肘子的Swift记事本 ) |