老司机 iOS 周报 #359 | 2025-12-01 #5222
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🌟 🐕 从「写代码」到「验代码」:AI 搭档写走 3 年,我踩出来的协作路线图
@JonyFang: 这篇文章给我的最大启发是:AI Coding 的价值,不在于让你更快写代码,而在于让你反思、重构「整个工程流程/协作方式」。
把 AI 当成一台「超级写代码机」很容易:但如果你这样想,就容易陷入“生成–调试–纠错–折腾–没效率”的恶性循环。相反,把 AI 当成「半自动化助理 + 智能实习生」,并在团队层面投入标准化 + 自动化 + 质量流程建设 -- 才是值得的、可持续的生产力提升路径。
🐕 Open source case study: Listening to our users
@Barney:文章强调了开源软件相较于 Apple 官方框架的核心优势:与用户的紧密互动。通过 SQLiteData 库的三个案例,用户驱动的功能定制、社区贡献的工具改进、快速修复的共享 bug,充分说明了活跃维护者的价值所在。开源库能在数小时到数周内响应用户需求,无需等待 WWDC 或新版本发布,这种敏捷迭代的开发模式,正是第三方库相比官方框架最值得信赖的地方。
🐎 A deep dive into notifications and messages on iOS 26
@极速男孩:这篇文章分析了 iOS 26 的新消息(Message)API。它作为传统 NotificationCenter 的替代品,提供了编译时的类型安全和并发安全保证,解决了旧 API(如闭包式)易出错的问题。
文章详细对比了新旧 API,并重点介绍了新 API(如 MainActorMessage)的优势。一个关键特性是,新旧 API 可以“桥接”互通,允许开发者逐步迁移。尽管新 API 在观察时获取具体发送者上有限制,但仍是未来的首选方案。
🐎 When To Kill A Project
@含笑饮砒霜:这篇文章是《War Stories》系列访谈的一部分,聚焦 iOS 领域知名开发者戴夫・弗沃(Dave Verwer)30 年职业生涯中的项目经验,核心围绕 “何时该终止一个项目” 展开,通过多个真实案例分享了成功与失败带来的关键启示。戴夫的经验本质上围绕 “理性决策” 展开:无论是失败的项目(及时止损、诚信负责)、误判市场的项目(重视真实需求调研),还是完成使命的成功项目(主动退出),核心都是 “聚焦有价值的部分,砍掉无效投入”。同时,信任、社区协作和对行业趋势的预判,也是项目决策中不可或缺的因素。
🐢 How to Build Scalable White-Label iOS Apps: From Multi-Target to Modular Architecture
@AidenRao:白标 iOS 应用是一个可重用的应用模板,可以针对多个客户 / 品牌进行定制和重新包装。本文探讨了 iOS 白标 App 的架构演进之路,从多 Target 方案的维护困境出发,深入讲解了如何借助模块化思想,通过有效的依赖与配置管理,构建一个更具可维护性与可扩展性的统一代码库。
🐎 Task Identity
极速男孩:文章指出 SwiftUI .task 的常见陷阱:它默认只在视图出现时运行,不会自动响应属性变化。若 View 的入参更新,Task 不会重跑,导致数据不同步。解决方案是使用 .task(id: 依赖项)。通过显式绑定依赖(如 url),当值变化时,SwiftUI 会自动取消旧任务并重启新任务,确保副作用逻辑与最新状态保持一致。
🐎 Pitfalls of Parameterized Tests
@david-clang:本文分享了 Swift Testing 中参数化测试的五大常见陷阱,并提出了关键的最佳实践。其核心思想是:应在测试数据中预先建立清晰的“输入-输出”映射关系,并使用预定义的静态值作为期望结果,从根本上避免测试逻辑与实现逻辑的耦合。
🐎 ScrollView snapping in SwiftUI
@DylanYang:作者向我们介绍了在 SwiftUI 中如何通过设置 scrollTargetBehavior 来调整 ScrollView 滑动的目标位置,除了我们在 UIKit 中熟知的按页滑动 .paging 选项外,还有 .viewAligned 选项允许我们按照 view 的尺寸来决定滑动的终点。文中有较多动图展示,感兴趣的读者可以阅读本文了解更详细的信息。
🐎 Building Peer-to-Peer Sessions: Advertising and Browsing Devices
@Damien:文章详解用 Multipeer Connectivity 框架实现 iOS 近场通信:配置权限、初始化 PeerSessionManager,用 MCNearbyServiceAdvertiser 广播自身并自动接受连接,同时用 MCNearbyServiceBrowser 发现与维护设备列表,附完整 Swift 源码展示如何整合广告、浏览、会话管理等功能,实现设备间的加密点对点通信。
工具
Mole:像鼹鼠一样深入挖掘来清理你的 Mac
@EyreFree:Mole 是一款面向 macOS 系统的工具,可以大概理解为是 CleanMyMac + AppCleaner + DaisyDisk + Sensei + iStat 的聚合,主要作用如下:
mo status命令提供交互式仪表盘,实时展示 CPU、内存、磁盘、网络等系统关键指标,支持 Vim 风格导航操作;--dry-run预览模式和白名单管理功能,降低误删风险,还支持通过mo touchid启用 Touch ID 授权sudo操作;mo analyze命令分析磁盘占用情况,帮助识别大文件和缓存条目,便于用户释放存储空间。对于需要管理 macOS 系统资源、进行系统清理或监控的团队成员来说,Mole 是一个实用的工具选择。
🐎 30 分钟解决 Claude 封号问题:程序员的终极自救指南
@阿权:文章详细介绍如何通过自建 VPS 解决 Claude 封号问题,包含完整的服务器搭建、客户端配置和开发工具设置步骤,让你稳定使用 Claude Code 等 AI 开发工具。
关键解决的痛点是:IP 不纯净。使用公共代理(机场 / VPN)易触发 Claude 风控封号。解决思路也很简单:自建 VPS。
代码
🐎 MachOSwiftSection: 🔬 A Swift library for parsing mach-o files to obtain Swift information.
@Kyle-Ye: MachOSwiftSection 是一个用于解析 Mach-O 文件并提取 Swift 元数据信息的 Swift 库。它基于 MachOKit 扩展实现 , 可以从编译后的二进制文件中提取协议描述符(Protocol Descriptors)、协议遵循关系(Protocol Conformance)和类型上下文描述符(Type Context Descriptors)等核心信息。该库同时提供了 Swift 包和命令行工具
swift-section,支持对二进制文件进行多架构分析和信息导出。对于需要进行逆向工程、安全分析或从编译产物生成 Swift 接口文件的开发者来说,这是一个实用的底层工具。内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release 老司机 iOS 周报 #359 | 2025-12-01.
Beta Was this translation helpful? Give feedback.
All reactions