# 67 : 周报进展与博客调整

发表于

Article Image

Photo by Marcel Eberle on Unsplash

肘子的话

在上期周报发布的当晚,邮件订阅量突破了 3000。结合其他发布渠道,每期周报在发布当周至少覆盖 6000 名以上的读者。虽然这一成绩谈不上多么卓越,但已远远超出了我创办之初的预期。

周报能够获得如此多读者的喜爱,最重要的原因在于社区中不断涌现的优质内容。过去一年中,虽然一些优秀的作者因种种原因减少了分享,但每个月都会有新的作者带来高质量的文章。在大多数情况下,我甚至会因为精彩文章过多而纠结于取舍,这种“幸福的烦恼”让我倍感欣慰。

当然,读者的支持也是周报持续发展的重要动力。无论是收到读者的正向反馈,还是看到一些作者的文章因周报推荐而获得更多阅读量,都让我感受到这份工作的意义和价值。

上周,我对博客架构进行了重要调整,将其从传统的云主机 + CDN 模式迁移到 Serverless。此举极大地简化了博客的部署流程和耗时,因此我也趁机优化了一部分代码。在此期间,由于 DNS 刷新的延迟问题,部分读者可能遇到页面无法访问的情况。以下是几种可能的解决办法:

  • 清空浏览器的缓存,特别是与博客相关的部分;
  • 将设备的 DNS 设置为更知名的解析服务商,以加快 DNS 刷新;
  • 访问博客的备份站点:fatbobman.github.io

此外,我在博客中新增了一个“小贴士”板块,用于分享内容简短、主题明确的文章。这类文章聚焦于快速解决实际问题,不涉及原理和讨论,方便读者以最快的方式找到答案。

感谢每一位读者的支持和反馈,期待未来能和大家一同见证更多精彩内容的诞生!

原创
近期推荐

🪜 SwiftUI 高级导航 (Advanced Navigation Destinations in SwiftUI)

SwiftUI 自引入 NavigationStack 后,显著提升了导航的灵活性。然而,NavigationPathnavigationDestination 的原生实现在实际使用中仍显局限,尤其是每个导航目标都需单独定义处理器,容易导致代码重复和维护困难。为了解决这些问题,Michael Long 开发了开源库 Navigator,为 SwiftUI 提供了一套功能更加强大的导航层,支持声明式与命令式导航的无缝切换。在这篇文章中,Long 深入探讨了原生导航方式的不足,以及 Navigator 如何通过枚举导航目标、协调模式和导航检查点等特性改进开发体验,为复杂的应用导航需求提供了优雅的解决方案。

在 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 分享了他在项目中遇到的一个问题:Text 视图的 offset 动画无法正常工作。通过参考开发者 kurtlee93 提出的解决方案,作者利用 GeometryEffectAnimatableData 成功解决了这一问题。

遇到动画失效的问题时,开发者常用 AnimatableData 为视图显式提供动画插值,经常能达到预期效果。不过,我们仍然期待苹果尽快修复这些长期存在的 bug。

Xcode 16 的新特性如何帮助我的项目减少 66,000 行代码 (How a New Xcode 16 Feature Helped My Work Project Eliminate 66,000 Lines of Code)

Xcode 16 引入了可构建文件夹(buildable folders)特性,通过文件系统直接管理文件,取代了对 pbxproj 文件中复杂引用的依赖。在这篇文章中,Makwan Barzan 分享了他们团队如何通过细致而卓有成效的努力,成功减少了旧项目 pbxproj 文件中的 66,000 行冗余引用。采用文件夹组织结构不仅降低了合并冲突风险,也显著提升了项目管理效率。

🪜 使用 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)

List 是 SwiftUI 中一个核心组件,不仅能够高效展示数据行,还提供了多种预置的样式以适应不同的 UI 需求。然而,对于每种风格的特点和适用场景,许多开发者可能并不熟悉。Antoine van der Lee 在这篇文章中,通过一系列直观的代码示例,系统地介绍了 SwiftUI List 的基本功能、不同风格的应用,以及如何实现分组、选择、多样式背景等功能。这篇文章为开发者全面掌握 List 的使用提供了一份清晰且实用的指南。

活动

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
以及更多重量级嘉宾。

🎤 丰富的活动内容:

  • 30场演讲,洞察未来科技发展趋势
  • 7个工作坊,与专家零距离互动,深度学习
  • 100个应用展示,探索最前沿的创新作品

这不仅是一个技术交流的平台,也是全球 Apple 生态中的创新者、领袖、投资者齐聚的舞台!你将亲身体验到最前沿的人工智能与空间计算技术,并与行业领袖们共同探讨未来科技的无限可能。

⏳ 仅开放 1000个名额,一旦售完将不再补充!快来抢票,和我们一起见证未来科技的巅峰时刻!

为您每周带来有关 Swift 和 SwiftUI 的精选资讯!