Skip to content

Commit c68ee62

Browse files
committed
refactor: 发布前整理 & 353 期创建
1 parent 7c3d523 commit c68ee62

File tree

2 files changed

+95
-59
lines changed

2 files changed

+95
-59
lines changed

Reports/2025/#352-2025.09.22.md

Lines changed: 8 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,6 @@
77

88
## 新闻
99

10-
> 行业相关的新闻、趣事、看法
11-
12-
##  Developer - 设计开发加速器
13-
14-
> 设计开发加速器相关活动
15-
16-
## 新手推荐
17-
18-
> 收集一些对新手友好且质量不错的文章
19-
20-
## 文章
21-
22-
> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
23-
2410
### 🌟 🐕 [Swift 6.2 正式发布](https://www.swift.org/blog/swift-6.2-released/)
2511

2612
[@kemchenj](https://kemchenj.github.io/):随着 Swift 语言本身走向成熟,每年的更新慢慢的已经不是集中在语言功能上,投入了更多的精力到工具链和生态建设上。
@@ -56,6 +42,8 @@
5642

5743
更多详细信息请查看原文。
5844

45+
## 文章
46+
5947
### 🌟 🐢 [KMP on iOS 深度工程化:模块化、并发编译与 98% 增量构建加速](https://mp.weixin.qq.com/s/wOnyjYcka99eFJz8BWlu4Q)
6048

6149
[@JonyFang](https://github.com/): 本文主要介绍了 Bilibili KMP 在 iOS 工程化的一些深度改造,达成模块化、并发编译与 98% 增量构建加速的目标。主要通过对 Kotlin/Native 编译管线的深度拆解与重构,系统性地解决了其在模块化、编译并发和增量构建方面的核心瓶颈。
@@ -67,9 +55,9 @@
6755
**在调试与工程化上**:通过修复 `source-map` 路径和实现可靠的 `implementation_deps` ,保证了跨语言调试的稳定性和构建的确定性,解决了社区方案中的常见痛点。
6856

6957
也推荐几篇前几期的相关阅读:
70-
- [探讨跨平台技术与跨平台UI框架及Kotlin Multiplatform在bilibili的实践](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499203&idx=1&sn=67aea00aa5c15999f97791311938bc53&scene=21&poc_token=HLpTz2ijWQWLwFf6XFfk8Q_WpxxZDQY6efKAoW3r)
71-
- [工程化视角的 Kotlin Multiplatform核心解读及优化](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499744&idx=1&sn=f3c7bff956a066c30b70b5be1236a308&scene=21&poc_token=HNFTz2ij1E8hZViL6RNPunbfKHVS25LeC66WMyXt)
72-
- [B站在KMP跨平台的业务实践之路](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247502999&idx=1&sn=9213bf3505748c329053a5b583450a18&scene=21&poc_token=HOdTz2ijemHOj_WW4N95gPA12ZTRq-q99qX9m5aI)
58+
- [探讨跨平台技术与跨平台 UI 框架及 Kotlin Multiplatform 在 bilibili 的实践](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499203&idx=1&sn=67aea00aa5c15999f97791311938bc53&scene=21&poc_token=HLpTz2ijWQWLwFf6XFfk8Q_WpxxZDQY6efKAoW3r)
59+
- [工程化视角的 Kotlin Multiplatform 核心解读及优化](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499744&idx=1&sn=f3c7bff956a066c30b70b5be1236a308&scene=21&poc_token=HNFTz2ij1E8hZViL6RNPunbfKHVS25LeC66WMyXt)
60+
- [B 站在 KMP 跨平台的业务实践之路](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247502999&idx=1&sn=9213bf3505748c329053a5b583450a18&scene=21&poc_token=HOdTz2ijemHOj_WW4N95gPA12ZTRq-q99qX9m5aI)
7361

7462

7563
### 🐎 [Automating Github Action Workflows For Swift](https://elegantchaos.com/2025/08/28/action-builder.html)
@@ -94,13 +82,6 @@
9482

9583
[@阿权](https://github.com/bqlin):阿权的日常开发小集,记录了日常开发中踩过的大小坑,内容主要涵盖 Git、iOS、Swift、Xcode 等方面问题的总结。按需搜索,说不定有意外的惊喜。
9684

97-
### [marioaguzman Design Guidelines layout](https://marioaguzman.github.io/design/layoutguidelines/) [marioaguzman Design Guidelines toolbar ](https://marioaguzman.github.io/design/toolbarguidelines/)
98-
99-
[@含笑饮砒霜](https://weibo.com/chinafishnews/):这两篇文章系统阐述了 macOS 应用在窗口布局和工具栏设计上的核心规范与实践原则:在窗口布局上,需要遵循中心均衡、对齐、留白和视觉平衡的原则,合理安排常规、小型和迷你控件的位置与间距,并通过空白、分隔线或分组框组织控件,确保界面简洁一致;在工具栏设计上,应基于用户的心智模型挑选并排序常用功能,合理区分全局与界面项,正确处理侧边栏和检查器的切换,注意标题、副标题、溢出优先级与居中项的使用,同时结合不同样式(统一、紧凑、扩展、偏好)以及底部栏、附加栏和系统内置特殊控件,实现美观、直观且高效的用户体验。
100-
101-
### 🐢 [iOS Rendering Documentation](https://github.com/EthanArbuckle/ios-rendering-docs/blob/main/README.md)
102-
103-
[@Kyle-Ye](https://github.com/Kyle-Ye): 这份文档深入剖析了 iOS 渲染系统的底层架构,详细阐述了从 UIView 到 CALayer、CAContext 再到 FBSScene 的完整渲染管道。文档特别解释了 Front Board Scene (FBS) 的工作机制以及 CAContext 的 contextID 如何用于跨进程 IPC 通信。内容涵盖了层级合成模型、场景管理、渲染同步、动画协调等核心概念,为理解 iOS 图形系统提供了前所未有的技术深度。对于需要进行系统级渲染研究、性能优化或底层拦截开发的高级 iOS 开发者来说,这是一份极其宝贵的参考资料。
10485

10586
### 🐕 [iOS26 Runtime Changes:Concurrent mutation of nonatomic properties](https://github.com/SwiftOldDriver/iOS-Weekly/issues/5148)
10687

@@ -112,50 +93,18 @@
11293

11394
但从更长的视角来看,在 iOS 26 暴露了更多问题后,开发者修复后,后续的新版本对低 OS 的用户也带来体验的提升,所以总体我还是偏正常得看待这个 feature 的,等于苹果开启了对一类问题的线上 TSan ,并且对性能的影响微乎其微。短期的阵痛后带来的是更长期的体验提升。美中不足的就是如果这项 feature 能像 malloc 的一些开关(malloc stack logging 等),能让开发者自主控制按一定比例开启就更好了,能有更多时间修复以及控制对升级到 iOS 26 用户的影响。
11495

115-
11696
> 更具体的一些细节可以看链接。
11797
11898
### 🐕 [How to disable Liquid Glass](https://www.swiftwithvincent.com/blog/how-to-disable-liquid-glass)
11999

120100
[@Cooper Chen](https://github.com/cjlcooper):在 iOS 26 中,苹果推出了全新的 Liquid Glass 设计系统,为界面带来了更透明、流动的视觉体验。但如果你的 App 还没做好适配,用户可能会遇到界面错乱的问题。作者在文章中给出了一个简洁的解决方案:通过在 `Info.plist` 中新增键值 `UIDesignRequiresCompatibility = YES`,就能让应用暂时保持旧版设计,避免因 Liquid Glass 引发的兼容性 bug。不过要注意,这只是临时方案,苹果计划在 iOS 27 移除该选项。也就是说,开发者需要尽快着手适配 Liquid Glass,以确保用户体验的连贯性和未来的稳定性。对于想稳妥过渡到新系统的团队来说,这是一个既务实又必须关注的技巧。
121101

122-
### 🐢 [We Need to Talk About Observation](https://jaredsinclair.com/2025/09/10/observation.html)
123-
[@Smallfly](https://github.com/iostalks):这篇文章深度探讨了 Swift 观察机制的新旧范式更迭,从 `ObservableObject` + `Combine` 的旧时代到 `@Observable` 宏 + `Observations` 结构体的新生态,揭示了迁移过程中的关键挑战与设计考量。核心内容包括:
124-
125-
- **旧范式的价值**:回顾 `@Published` + `Combine` 在对象间观察(如 `UserCoordinator``SyncEngine`)的简洁性——自动管理订阅生命周期、支持跨对象响应,为复杂业务逻辑提供低耦合解决方案。
126-
- **新范式的突破与局限**:分析 `@Observable` 宏在 SwiftUI 集成(属性访问优化、嵌套支持)的优势,同时指出 `withObservationTracking`(单次触发需递归调用)与 `Observations` 结构体(任务生命周期管理复杂)在非 UI 场景的不足——订阅取消需手动管理 `Task`、对象弱引用易出错。
127-
- **迁移建议**:强调选择方案时需超越 UI 层考量,关注业务逻辑中对象间观察的实际需求,避免因新特性的「表面简洁」忽略生命周期管理的潜在风险。
128-
129-
文章以开发者视角对比新旧机制的工程实践差异,为理解 Swift 观察体系演进提供了务实的参考。
130-
131-
### 🐕 [Xcode Migrations: From Stone Age to AI Mastery](https://medium.com/qonto-way/xcode-migrations-from-stone-age-to-ai-mastery-d2590657e809)
132-
133-
[@Barney](https://github.com/BarneyZhaoooo):这篇文章讲述了 Qonto 团队如何将 Xcode 升级从三周噩梦转变为一天自动化流程。
134-
**背景:** 60+ iOS 工程师团队面临 Xcode 升级瘫痪开发流程的问题,依赖管理冲突和构建失败频发。
135-
**核心改进:**
136-
* **架构优化**:移除 CocoaPods,统一使用 Swift Package Manager
137-
* **自动化监控**:Swift 构建的 Xcode Release Checker,CI 监控版本发布并 Slack 通知
138-
* **沟通策略**:建立迁移门户和可视化时间线,团队理解度从 33% 提升至 90%
139-
* **CLI 工具**:Swift 自动化迁移流程,包括分支创建、构建清理、版本更新等
140-
* **AI 集成**:构建 Swift MCP 工具和 Xcode Migrator AI 助手,提供 24/7 技术支持
141-
142-
**效果:** 迁移时间从 21+ 天缩短至 5 天(75% 减少),60+ 工程师零工作中断。通过持续改进理念,将最大痛点转化为竞争优势,目标进一步缩短至 1 小时。
102+
## 设计
143103

144-
## 工具
104+
### 🐕 [marioaguzman Design Guidelines layout](https://marioaguzman.github.io/design/layoutguidelines/) [marioaguzman Design Guidelines toolbar ](https://marioaguzman.github.io/design/toolbarguidelines/)
145105

146-
> 开发过程中常用的工具,及一些新工具的介绍
147-
148-
## 代码
149-
150-
> 库,代码段,开源app
151-
152-
##
153-
154-
> 比较不错的书的推荐和书评
155-
156-
## 音视频
106+
[@含笑饮砒霜](https://weibo.com/chinafishnews/):这两篇文章系统阐述了 macOS 应用在窗口布局和工具栏设计上的核心规范与实践原则:在窗口布局上,需要遵循中心均衡、对齐、留白和视觉平衡的原则,合理安排常规、小型和迷你控件的位置与间距,并通过空白、分隔线或分组框组织控件,确保界面简洁一致;在工具栏设计上,应基于用户的心智模型挑选并排序常用功能,合理区分全局与界面项,正确处理侧边栏和检查器的切换,注意标题、副标题、溢出优先级与居中项的使用,同时结合不同样式(统一、紧凑、扩展、偏好)以及底部栏、附加栏和系统内置特殊控件,实现美观、直观且高效的用户体验。
157107

158-
> 比较不错的书的推荐和书评
159108

160109
## 内推
161110

Reports/2025/#353-2025.09.29.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# 老司机 iOS 周报 #353 | 2025-09-29
2+
3+
![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/302.jpg?raw=true)
4+
老司机 iOS 周报,只为你呈现有价值的信息。
5+
6+
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
7+
8+
## 新闻
9+
10+
> 行业相关的新闻、趣事、看法
11+
12+
##  Developer - 设计开发加速器
13+
14+
> 设计开发加速器相关活动
15+
16+
## 新手推荐
17+
18+
> 收集一些对新手友好且质量不错的文章
19+
20+
## 文章
21+
22+
> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
23+
24+
### 🐢 [We Need to Talk About Observation](https://jaredsinclair.com/2025/09/10/observation.html)
25+
26+
[@Smallfly](https://github.com/iostalks):这篇文章深度探讨了 Swift 观察机制的新旧范式更迭,从 `ObservableObject` + `Combine` 的旧时代到 `@Observable` 宏 + `Observations` 结构体的新生态,揭示了迁移过程中的关键挑战与设计考量。核心内容包括:
27+
28+
- **旧范式的价值**:回顾 `@Published` + `Combine` 在对象间观察(如 `UserCoordinator``SyncEngine`)的简洁性——自动管理订阅生命周期、支持跨对象响应,为复杂业务逻辑提供低耦合解决方案。
29+
- **新范式的突破与局限**:分析 `@Observable` 宏在 SwiftUI 集成(属性访问优化、嵌套支持)的优势,同时指出 `withObservationTracking`(单次触发需递归调用)与 `Observations` 结构体(任务生命周期管理复杂)在非 UI 场景的不足——订阅取消需手动管理 `Task`、对象弱引用易出错。
30+
- **迁移建议**:强调选择方案时需超越 UI 层考量,关注业务逻辑中对象间观察的实际需求,避免因新特性的「表面简洁」忽略生命周期管理的潜在风险。
31+
32+
文章以开发者视角对比新旧机制的工程实践差异,为理解 Swift 观察体系演进提供了务实的参考。
33+
34+
### 🐕 [Xcode Migrations: From Stone Age to AI Mastery](https://medium.com/qonto-way/xcode-migrations-from-stone-age-to-ai-mastery-d2590657e809)
35+
36+
[@Barney](https://github.com/BarneyZhaoooo):这篇文章讲述了 Qonto 团队如何将 Xcode 升级从三周噩梦转变为一天自动化流程。
37+
**背景:** 60+ iOS 工程师团队面临 Xcode 升级瘫痪开发流程的问题,依赖管理冲突和构建失败频发。
38+
**核心改进:**
39+
* **架构优化**:移除 CocoaPods,统一使用 Swift Package Manager
40+
* **自动化监控**:Swift 构建的 Xcode Release Checker,CI 监控版本发布并 Slack 通知
41+
* **沟通策略**:建立迁移门户和可视化时间线,团队理解度从 33% 提升至 90%
42+
* **CLI 工具**:Swift 自动化迁移流程,包括分支创建、构建清理、版本更新等
43+
* **AI 集成**:构建 Swift MCP 工具和 Xcode Migrator AI 助手,提供 24/7 技术支持
44+
45+
**效果:** 迁移时间从 21+ 天缩短至 5 天(75% 减少),60+ 工程师零工作中断。通过持续改进理念,将最大痛点转化为竞争优势,目标进一步缩短至 1 小时。
46+
47+
### 🐢 [iOS Rendering Documentation](https://github.com/EthanArbuckle/ios-rendering-docs/blob/main/README.md)
48+
49+
[@Kyle-Ye](https://github.com/Kyle-Ye): 这份文档深入剖析了 iOS 渲染系统的底层架构,详细阐述了从 UIView 到 CALayer、CAContext 再到 FBSScene 的完整渲染管道。文档特别解释了 Front Board Scene (FBS) 的工作机制以及 CAContext 的 contextID 如何用于跨进程 IPC 通信。内容涵盖了层级合成模型、场景管理、渲染同步、动画协调等核心概念,为理解 iOS 图形系统提供了前所未有的技术深度。对于需要进行系统级渲染研究、性能优化或底层拦截开发的高级 iOS 开发者来说,这是一份极其宝贵的参考资料。
50+
51+
## 工具
52+
53+
> 开发过程中常用的工具,及一些新工具的介绍
54+
55+
## 代码
56+
57+
> 库,代码段,开源app
58+
59+
##
60+
61+
> 比较不错的书的推荐和书评
62+
63+
## 音视频
64+
65+
> 比较不错的书的推荐和书评
66+
67+
## 内推
68+
69+
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
70+
71+
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
72+
73+
## 关注我们
74+
75+
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
76+
77+
**关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参**
78+
79+
![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)
80+
81+
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom
82+
83+
## 说明
84+
85+
🚧 表示需某工具,🌟 表示编辑推荐
86+
87+
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

0 commit comments

Comments
 (0)