diff --git a/.gitignore b/.gitignore
index e43b0f988..8c687f5a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.DS_Store
+CLAUDE.md
diff --git a/Contributors/README.md b/Contributors/README.md
index fafbf6780..60c129025 100644
--- a/Contributors/README.md
+++ b/Contributors/README.md
@@ -243,3 +243,39 @@ https://github.com/100mango
老司机技术成员,就职于阿里巴巴淘宝,负责 端智能/AR/VR 等技术
+
+### Kyle-Ye
+
+
+
+老司机技术成员,Swift Documentation Workgroup 成员,独立开发者
+
+### DylanYang
+
+
+
+老司机技术成员,目前就职于字节跳动,参与音乐相关客户端开发,业余喜欢看看番、打打游戏。
+
+### BluesJiang
+
+
+
+iOS 开发者,老司机技术成员,目前就职于淘宝,负责淘宝原生基础架构。热衷于 Swift/SwiftUI 等基础技术领域。
+
+### 阿权 / bq
+
+
+
+老司机技术成员,base 广州,就职于字节剪映团队,喜欢音视频和图像处理,做过许多翻译和 WWDC 内参,热爱摇滚与爵士。喜欢文艺喜欢电影,曾经幻想诗与远方,却囿于昼夜、厨房与爱。
+
+### zhangferry
+
+
+
+老司机技术成员,目前在抖音基础技术团队从事代码分析相关工作。对 LLM、Stable Diffusion 有过短暂热爱,目前较大精力在带娃。
+
+### David
+
+
+
+老司机技术成员,目前从事 iOS Infra 相关工作,对跨平台技术比较感兴趣。喜欢摄影、跳舞,会点 Popping,为多上街舞大师课,现定居大阪。
diff --git a/README.md b/README.md
index 944f34c8d..2cc9916c7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
这个时代的问题不是缺乏信息,而是信息太多,不知道哪些信息是有价值的,哪些是对我而言有效的信息。既然我们平时也在关注 iOS 开发相关的资讯信息,不如整理出来。我们并不只是资讯的搬运工,也是价值的布道者。关于内容,不局限于具体的 iOS 技术相关的内容。也包括我们认为对于 iOS 开发者有价值的信息,比如软件工程、程序员话题。
@@ -8,9 +8,9 @@
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues ](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues ](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
-## 支持我们:[WWDC23 内参](https://xiaozhuanlan.com/wwdc23)
+## 支持我们:[WWDC24 内参](https://xiaozhuanlan.com/wwdc23)
-**WWDC23 内参** 目前已经更新了 35 篇内容,并且我们今年做出了一个重大改变,关注老司机技术公众号并回复 ``2023`` 可以免费领取,后续也会在公众号上定期推送对应内容。
+**WWDC24 内参** 目前已经更新了 21 篇内容,并且我们今年做出了一个重大改变,关注老司机技术公众号并回复 ``2024`` 可以免费领取,后续也会在公众号上定期推送对应内容。
**WWDC 内参** 系列是由「老司机技术」牵头组织的精品原创内容系列。已经做了几年了,口碑一直不错。和往年不同,今年几乎没有脱水稿了,得益于组建的审核团队和不断优化的创作流程,大家创作的内容都已经超越了视频本身的内容,非常有学习和参考意义。
@@ -131,6 +131,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
#### 荣誉编辑
diff --git a/Report template.md b/Report template.md
index fa55f7d67..4f7ff3747 100644
--- a/Report template.md
+++ b/Report template.md
@@ -1,6 +1,6 @@
-# 老司机 iOS 周报 #229 | 2023-03-25
+# 老司机 iOS 周报 #319 | 2025-01-06
-
+
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
@@ -47,7 +47,7 @@
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
-**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+**关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参**

diff --git a/Reports/2023/#261-2023.09.18.md b/Reports/2023/#261-2023.09.18.md
index 746b32cff..11012436f 100644
--- a/Reports/2023/#261-2023.09.18.md
+++ b/Reports/2023/#261-2023.09.18.md
@@ -1,26 +1,18 @@
# 老司机 iOS 周报 #261 | 2023-09-18
-
+
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
## 新闻
-> 行业相关的新闻、趣事、看法
+### [App Store submissions now open for the latest OS releases](https://developer.apple.com/news/?id=khzvxn8a)
-## Developer - 设计开发加速器
-
-> 设计开发加速器相关活动
-
-## 新手推荐
-
-> 收集一些对新手友好且质量不错的文章
+Xcode 15 RC 版本已经正式发布,目前 AppStore 已经可以接受使用 RC 版 Xcode 构建的产物了,同时苹果预告将在 2024 年 4 月起禁止使用 Xcode 14 提交新的产物。
## 文章
-> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
-
### 🐎 [网易云音乐 Tango 低代码引擎正式开源!](https://mp.weixin.qq.com/s/X_F2JMY3rUm_mH-NP1FmEA)
[@Crazy](https://github.com/jiyan135960):本文主要介绍了网易云开发的一款快速构建低代码平台的低代码设计器框架 Tango,该框架主要用于简化前端系统的搭建流程。相较于基于私有 Schema 的低代码搭建方案,Tango 的基于源码 AST 转换方式可以做到面向以源码为中心的应用搭建场景,并且具有更好的扩展性,原有组件亦可以无缝低成本接入。现今 Tango 已经开源,大家可以去 GitHub 直接查看源码以及应用文档。
@@ -51,30 +43,50 @@
## 工具
-> 开发过程中常用的工具,及一些新工具的介绍
+### [Introducing swiftly, a new Swift toolchain installer and manager](https://forums.swift.org/t/introducing-swiftly-a-new-swift-toolchain-installer-and-manager/67254)
-## 代码
+[@kemchenj](https://kemchenj.github.io):Swiftly 是一个 Swift 的版本管理器,类似于 nvm,rvm,rustup,可以用来快速安装各个版本的 toolchain 并且进行切换,作为 SSWG 的项目正在孵化当中,以后有望成为官方首选的 Swift 安装方式。
-> 库,代码段,开源app
-
-### 🐎 [ExampleKit](https://github.com/toph42/ExampleKit)
+## 代码
-[@Cooper Chen](https://github.com/cjlcooper):这个开源工程提供了在 Swift Playgrounds 中创建自己的库并进行发布管理,其中详细介绍了如何创建模板、源控制等操作,这对于需要进行相同代码不同平台开发的开发者来说是一个实用的工具。
+### [SwiftDataKit](https://github.com/fatbobman/SwiftDataKit)
-## 书
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):SwiftDataKit 是 SwiftData 的扩展库,它使 SwiftData 开发人员可以访问 SwiftData 元素背后对应的 Core Data 对象。由于 SwiftData 框架功能尚不完善,开发人员仍需通过调用 Core Data 的方法来实现一些高级功能。使用 SwiftDataKit,可以让开发人员在某些场景下避免重复创建 Core Data 版本的 Data Model 和 Stack。更多详情可参阅 [SwiftDataKit:让您在 SwiftData 中使用 Core Data 的高级功能](https://www.fatbobman.com/posts/use-Core-Data-features-in-SwiftData-by-SwiftDataKit/)。
-> 比较不错的书的推荐和书评
## 音视频
-### 🐎 [Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023)](https://www.youtube.com/watch?v=lgivCGdmFrw)
+### 🐎 [Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023](https://www.youtube.com/watch?v=lgivCGdmFrw)
[@老峰](https://github.com/gesantung):视频主要讲了 Apple 生态过去的编程语言(C/C++/Objective-C/Objective-C++)存在内存安全的问题,以及后继者 Swift 如何解决这些问题,为什么要使用 Swift 等。
+### 🚧 [Swift TO](https://www.swiftconf.to/)
+[@zvving](https://github.com/zvving):Swift TO,一个源自加拿大的 iOS 社区组织,尽管面临严峻的运营挑战并[即将结束运营](https://www.swiftconf.to/swift-to-is-closing-down/),但依旧保持开放性,将最近的技术分享视频公开,欢迎感兴趣的朋友通过视频参与交流学习。
+
## 内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+[北京] 百度网盘 - 基础架构/业务 - iOS/Android/FE
+
+[上海/杭州/北京] TikTok - 短视频 - iOS/Android/TL
+
+[广深] TikTok 直播 - 社交互动团队 - iOS/Android
+
+[杭州] 淘宝 - 终端平台 - iOS/Android/C++
+
+[广州] 微信公众号 - iOS
+
+[北京] 快手 - 本地生活 - iOS
+
+[上海 / 北京] MiniMax - iOS
+
+[北京] 知乎 - 会员业务 - iOS
+
+[上海] 扫描全能王 - iOS
+
+[深圳] 手机 QQ - 终端架构 - iOS - T10/T11
+
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
## 关注我们
diff --git a/Reports/2023/#262-2023.09.25.md b/Reports/2023/#262-2023.09.25.md
new file mode 100644
index 000000000..01f50fbf2
--- /dev/null
+++ b/Reports/2023/#262-2023.09.25.md
@@ -0,0 +1,132 @@
+# 老司机 iOS 周报 #262 | 2023-09-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [WebP 堆缓冲区溢出 安全漏洞](https://github.com/advisories/GHSA-j7hp-h8jx-5ppr)
+
+23 年 9 月 12 日 Libwebp 公布了一个高危漏洞 [CVE-2023-4863](https://nvd.nist.gov/vuln/detail/CVE-2023-4863),评级为 **Critical(8.8)** 。受影响方众多,包括 Chrome,Firefox 等浏览器;集成 libWebP 的客户端 APP,以及包括部分版本的 Electron、flutter 。列举部分受影响的组件:
+
+- webP(< [1.3.2](https://chromium.googlesource.com/webm/libwebp/+/refs/heads/1.3.2)),推荐直接升级至 1.3.2
+- Electron(< 26.2.2/25.8.2/24.8.3/22.3.24)
+- flutter(< 3.13.4)
+
+由于漏洞已被公开,有被利用后攻击的风险(具体攻击方式不便展开),大家可以视项目情况进行升级。
+
+## 文章
+
+### 🐕 [iOS 点九图 NinePatch 解析](https://mp.weixin.qq.com/s/angyJag7AZntt2FLNCOuXw)
+
+[@Barney](~https://github.com/BarneyZhaoooo~):文章主要介绍了 iOS 点九图的应用实战。有原理介绍也有代码,是非常具体的实践,值得学习。
+
+- 点九图制作生成。
+- PNG 文件格式介绍和代码实践。
+
+
+### 🐕 [开箱即用-移动网络 IPv6 浓度检测工具](https://juejin.cn/post/7278899547828224039)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):本文介绍了一款移动网络 IPv6 浓度的检测工具,旨在推动 IPv6 技术的广泛应用。本文详细说明了该工具的背景、使用方法,以及如何通过抓包和数据分析来评估移动应用的 IPv6 流量占比,进而指导网络改进工作。此外,本文还提供了其他诸如手机抓包、Safari 调试等检测方法,以帮助读者更好地理解和推广 IPv6 技术在移动网络中的应用。
+
+### 🐎 [Shake to undo in a SwiftUI app](https://blog.thomasdurand.fr/story/2023-09-04-shake-to-undo-swiftui/)
+
+[@zoeGuo](https://github.com/zoeGuo):这篇文章介绍了如何在 SwiftUI 应用中实现"摇一摇撤销"的功能。作者从怎么在 SwiftUI 中使用 UndoManager ,到具体如何在 SwiftUI 中实现"摇一摇"手势,给予用户适当的提示保证数据不会被误操作丢失,以及监听 undo 操作的发生来正确处理逻辑,提供了使用 SwiftUI 实现"摇一摇撤销"功能的详细步骤和思路。作者最后展示了将所有这些逻辑和 UI 实现封装至一个可重用的修饰符中,整个功能的使用代码变得极其简洁。
+
+### 🐢 [How to build an iOS Live Activity](https://medium.com/kinandcartacreated/how-to-build-ios-live-activity-d1b2f238819e)
+
+[@anotheren](https://github.com/anotheren):这是一篇新手向的文章,从创建、UI 展示、数据更新等各方面给出了如何构建你的第一个“ Live Activity ”(实时活动) 的全流程指导,是时候将实时活动加入你的应用了。
+
+### 🐕 [Swift Macro: Revisited - The Strengths and Essence](https://wezzard.com/post/2023/08/swift-macro-revisited-the-strengths-and-essence-a5a4)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章详细探讨了 Swift 宏的优势和本质。
+
+- 通过在编译时转换程序员的代码来生成代码。具备类型检查和语法树检查能力,能够限定宏的使用场景,还可以明确宏接受的参数类型。
+- 对于独立宏,它们可以影响使用处的控制流并共享词法范围。
+- 对于附加宏,它们可以将现有成员变量,转换成另一种形式来扩展该类型,并通过添加访问器来重写属性。扩展内容不仅带来新的行为,而且共享扩展点的”命名空间”。还值得注意的是,向存储属性添加访问器也会将其语义从存储属性更改为计算属性。
+
+相比 Swift 中现有的代码重用方法,Swift Macro 通过拥抱不同的设计理念,提高了语言的代码可重用性。
+
+### 🐕 [Swift Macro: Revisited - Traps and Pitfalls](https://wezzard.com/post/2023/08/swift-macro-revisited-traps-and-pitfalls-1034)
+
+[@邦Ben](https://weibo.com/linwenbang):
+
+该文章对 Swift 宏使用过程中会出现的一些陷阱问题进行了示例说明,例如:
+- 宏里面如果包含了 return,在 for 循环里用,展开会直接 return 而不是继续执行
+- 定义命名冲突,其他框架的 propertyWrapper 导致的冲突,或者是 lazy 都会冲突,重复访问等
+- 语义冲突
+
+解决方案文中也给了建议:
+- 宏名字清晰,如果不允许在某个场景使用的话,可以写清楚
+- 将宏扩展放在闭包内进行保护
+- 引用其他库的时候尽量保证命名唯一
+- 宏内部不进行定义变量
+- 提供重命名的方法
+- 提供 ignore 方法
+- 提供对应的使用说明文档
+
+展开后的问题和你在 OC 中用到宏也是会遇到类似的场景,大规模以及复杂场景使用的时候,尤其需要注意这类异常 case
+
+### 🐎 [iPhone 15 Screen Sizes](https://useyourloaf.com/blog/iphone-15-screen-sizes/)
+
+[@ChenghzhiHuang](https://github.com/ChenghzhiHuang):本文总结了 iPhone 15 系列的屏幕信息,包括 StatusBarHeight、SafeArea、屏幕分辨率等。需要适配的同学可以自行翻阅。
+
+## 工具
+
+### 🐎 [Flutter 最优秀动画库「完全商业化」,Rive 2 你全面了解过吗?](https://juejin.cn/post/7275155682051145787)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Rive 动画在 Flutter 领域类似于 Lottie 在 iOS 和 Android 上的地位,同样提供了在线编辑器;当然了,Rive 也是支持全平台的,本文带你详细入手 Rive 动画,从制作到代码联动。
+
+## 代码
+
+### 🐎 [ExampleKit](https://github.com/toph42/ExampleKit)
+
+[@Cooper Chen](https://github.com/cjlcooper):这个开源工程提供了在 Swift Playgrounds 中创建自己的库并进行发布管理,其中详细介绍了如何创建模板、源控制等操作,这对于需要进行相同代码不同平台开发的开发者来说是一个实用的工具。
+
+### 🐎 [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing)
+
+[@J_Knight_](https://github.com/knightsj):提供了一个开源的用于 Swift 开发的快照测试(Snapshot Testing)框架。除了支持对 UIView 进行快照以外, 还支持其他数据类型以及在不同设备型号上的快照。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[北京] 百度网盘 - 基础架构 / 业务 - iOS/Android/FE
+
+[上海 / 杭州 / 北京] TikTok - 短视频 - iOS/Android/TL
+
+[广深] TikTok 直播 - 社交互动团队 - iOS/Android
+
+[杭州] 淘宝 - 终端平台 - iOS/Android/C++
+
+[广州] 微信公众号 - iOS
+
+[北京] 快手 - 本地生活 - iOS
+
+[上海 / 北京] MiniMax - iOS
+
+[北京] 知乎 - 会员业务 - iOS
+
+[上海] 扫描全能王 - iOS
+
+[深圳] 手机 QQ - 终端架构 - iOS - T10/T11
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#263-2023.10.16.md b/Reports/2023/#263-2023.10.16.md
new file mode 100644
index 000000000..7ff6a0c67
--- /dev/null
+++ b/Reports/2023/#263-2023.10.16.md
@@ -0,0 +1,110 @@
+# 老司机 iOS 周报 #263 | 2023-10-16
+
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [ICP 备案上线](https://developer.apple.com/cn/help/app-store-connect/reference/app-information/)
+
+国庆节前夕,苹果审核商店也正式上线了 ICP 备案。目前新 APP 需要填写备案号才能提交审核;老 APP 目前不填备案号也能正常提审(预计是明年 4 月强制执行)。
+
+> 中国工业和信息化部(MIIT)要求 App 必须具备有效的互联网信息服务提供者(ICP)备案号。此外,游戏 App 必须取得网络游戏出版物号。图书和报刊杂志 App 必须持有中国国家新闻出版署(NPPA)颁发的《网络出版服务许可证》。包含宗教内容的 App 必须持有中国国家宗教事务局(NRAA)颁发的《互联网宗教信息服务许可证》。新闻 App 必须持有中国国家互联网信息办公室(CAC)颁发的《互联网新闻信息服务许可证》。如果你已经或计划在中国大陆的 App Store 中提供上述类型的 App,则必须提供相关信息和证明文件。
+
+### [Xcode 15.1 Beta Release Note](https://developer.apple.com/documentation/xcode-release-notes/xcode-15_1-release-notes)
+
+Xcode 15.1 Beta 版本发布,除了常规的新 SDK 发布,这次一条相对重要的信息是,从 15.1 开始,X86/64 的 芯片组(也就是 Intel CPU)不再能够开发 VisionOS ,必须使用 silicon 系列芯片组(俗称 M 系列),15.0 的时候还是支持 X86/64 的,此次放弃 X86/64 令人担忧苹果后续对老机型的支持。
+
+## 文章
+
+### 🐕 [Migrating Ice Cubes to the SwiftUI Observation framework](https://dimillian.medium.com/migrating-ice-cubes-to-the-swiftui-observation-framework-821f90deebee)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章介绍了作者将他的开源 Mastodon 客户端 Ice Cubes 迁移到了新的 Observation framework 的过程。作者分享了一些关键点:
+
+- 迁移并不复杂,作者只花了几个小时就完成了。
+- 迁移修复了一些 bug,并不会引入新的问题。
+- 性能改进明显,值得投入。
+
+作者认为 Observation framework 是 SwiftUI 的一项重大改进,它简单易用,并且消除了以前数据流中的许多令人头疼的问题
+
+### 🐕 [Dismiss keyboard when return is pressed in a multiline SwiftUI TextField](https://danielsaidi.com/blog/2023/09/15/dismiss-keyboard-when-return-is-pressed-in-a-multiline-swiftui-textfield)
+
+[@Smallfly](https://github.com/iostalks):这篇文章主要介绍了在 SwiftUI 中如何实现多行文本框的回车键提交和键盘自动收起功能。作者使用 `FocusState` 和 `onChange` 修饰符来监听文本变化,实现了多行文本框的提交和键盘自动收起功能,并将其封装为了一个可重用的自定义 view modifier。如果你正在开发 SwiftUI 应用,并且遇到了类似的问题,这篇文章可能会对你有所帮助。
+
+### 🐕 [Interoperability: Swift ’ s Super Power](https://browsercompany.substack.com/cp/137231709)
+
+[@Cooper Chen](https://github.com/cjlcooper):Swift 作为现代的语言,在设计选择上使其展示了灵活性和兼容性且不需要以可用性为代价的特性,而使 Swift 专注于与其他语言的本地互操作性,成为 Swift 构建丰富的本地应用的一个重要目标。同时 Swift 的互操作性工具库使其成为在现有平台上构建丰富的本地应用程序和库的有力语言,并以其改进的内存安全性和强大的易用性为 C 和 C++ 提供了一个很好的替代方案。本文介绍了在 Swift 中使用 C++ Interop 和 C Interop 在 Windows 平台支持 COM 模式,同时也改进了 COM 对于 Swift 的支持,通过在 Windows 平台以及对 Swift 互操作性方法的探索,为开发者提供了一个良好的基础,让我们了解 Swift 的互操作性工具如何允许我们构建可以访问平台 API 的跨平台应用程序。
+
+### 🐢 [深入理解 iOS Jetsam 机制,助力提升 Flotsam 召回率](https://mp.weixin.qq.com/s/vUMmQvZ1I91fhf8kFXY_mA)
+
+[@xuyafei86](https://github.com/xiaofei86):本文将深入介绍 iOS 系统中的 Jetsam 机制,探讨其原理和作用。Jetsam 机制负责在内存不足时终止进程以释放内存资源,了解 Jetsam 的工作原理和相关策略,可以帮助开发者优化应用程序的内存使用,提高 Flotsam 召回率。
+Flotsam 是快手定义的指标,是指 iOS 上未被监控捕获到的前台异常退出,包括但不限于由于内存溢出引起的退出。与 Jetsam 不同,Flotsam 更多地关注那些零碎、尚未明确归因的异常退出。了解 Jetsam 的工作原理和相关策略,对开发者来说,不仅有助于优化应用内存使用,还能显著提高 Flotsam 召回率,进一步提升应用的稳定性和用户体验。
+
+### 🐎 [Swift 中闭包底层原理探索](https://juejin.cn/post/6935797942435446791)
+
+[@J_Knight_](https://github.com/knightsj):本文作者使用代码实例并利用导出的 SIL 和 LLVM 文件内的代码(附上了详细的代码注释)详细介绍了在 Swift 中闭包捕获单个值和多个值的原理。
+
+### 🐢 [The Absolute Minimum Every Software Developer Must Know About Unicode in 2023](https://tonsky.me/blog/unicode/)
+
+[@水水](https://www.xuyanlan.com/):本文介绍了作者认为 2023 年每个软件开发人员需要知道的关于 Unicode 的一些基本知识点如下
+- 什么是 Unicode
+- Unicode 有多大
+- Unicode 目前分配情况
+- Unicode 作为私人用途的有哪些
+- UTF-8 是什么
+- 为什么显示 �、Emoji 长度是怎么计算的
+
+...... 等一系列的问题进行了整理和解释 ~
+
+## 代码
+
+### 🐕 [@Model for CoreData](https://www.alwaysrightinstitute.com//managedmodels/)
+
+[@极速男孩](https://github.com/ztlyyznf001):Apple 在 2023 年 WWDC 上发布了 Swift 数据持久化框架 SwiftData。本文主要介绍了 ManagedModels 这个库,他为 CoreData 提供类似 SwiftData 的 API ,但不需 iOS 17+ 版本。主要区别包括:ManagedModels 中的类需明确从 NSManagedObject 继承,使用 @FetchRequest 而非 SwiftData 的 @Query 。文章提供了使用 ManagedModels 的代码示例,以及两个示例程序。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[上海 / 北京] 西瓜视频 - iOS
+
+[北京] 百度网盘 - 基础架构 / 业务 - iOS/Android/FE
+
+[上海 / 杭州 / 北京] TikTok - 短视频 - iOS/Android/TL
+
+[广深] TikTok 直播 - 社交互动团队 - iOS/Android
+
+[杭州] 淘宝 - 终端平台 - iOS/Android/C++
+
+[广州] 微信公众号 - iOS
+
+[北京] 快手 - 本地生活 - iOS
+
+[上海 / 北京] MiniMax - iOS
+
+[北京] 知乎 - 会员业务 - iOS
+
+[上海] 扫描全能王 - iOS
+
+[深圳] 手机 QQ - 终端架构 - iOS - T10/T11
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#264-2023.10.23.md b/Reports/2023/#264-2023.10.23.md
new file mode 100644
index 000000000..358d30ed7
--- /dev/null
+++ b/Reports/2023/#264-2023.10.23.md
@@ -0,0 +1,77 @@
+# 老司机 iOS 周报 #264 | 2023-10-23
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐎 [云音乐如何「搭」出新首页](https://mp.weixin.qq.com/s/rZzpXrU3T_0gbKhpM0M4dA)
+
+[@JonyFang](https://github.com/JonyFang):本文介绍了云音乐如何通过可视化搭建系统支撑新版首页这样的核心场景,提出一套基于性能、动态化和精细化运营角度的解决方案。文章还探讨了动态化能力的重要性、各种动态化方案的能力和性能表现、针对不同业务诉求做出合适选择的必要性。
+
+### 🌟 🐕 [【iOS】一段防护代码引发的内存风暴](https://mp.weixin.qq.com/s/zgwciJibBxyrA_wT2-w3QQ)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文详细描述了腾讯音乐在一次防护代码导致的 OOM 问题上进行排查的过程,不仅详细解释了内存分析问题从基建到详细手段的步骤,也从另一个侧面说明了 Runloop 和 Autoreleasepool 的关系。值得一提的是,这个 OOM 问题的原因是 CF 不同版本在 __CFRunLoopDoObservers 里面遍历 observer 的实现方式不同导致,采用数组方式的高版本系统会出现上述的 OOM 问题,这对于安全气垫相关需求开发同学有着极高的参考价值。
+
+### 🌟 🐢 [Swift Parameter Packs](https://paul-samuels.com/blog/2023/09/29/swift-parameter-packs/)
+
+[@享耳先森](https://github.com/iblacksun):Swift 5.9 已经发布,除了广为人知的 `Macros`,还有一项比较少人提到的是 `Parameter Packs`,本文介绍了 `Parameter Packs` 的三种使用场景,如想更深入的理解 Swift 5.9 的更新,建议阅读另一篇:[What’s new in Swift 5.9?](https://www.hackingwithswift.com/articles/258/whats-new-in-swift-5-9)
+
+### 🐕 [Xcode 15以下版本调试 iOS 17 设备](https://developer.apple.com/forums/thread/730947?answerId=758061022#758061022)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是在 Apple 开发论坛上讨论的,关于无法使用 Xcode 14.x 版本调试 iOS 17 设备的问题。最终找到一个行之有效的可行路径。先在终端中运行 `defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled`,然后重新启动 Xcode 14.x,iOS 17 设备将显示在 Xcode 中,进而可以像往常一样运行和调试应用程序。
+
+### 🐎 [Changes to URL string parsing in iOS 17](https://augmentedcode.io/2023/10/02/changes-to-url-string-parsing-in-ios-17/)
+
+[@Damien](https://github.com/ZengyiMa):在 iOS 17 系统中,URL 类中的 init(string:) 方法的行为和 URLComponents 的解析 URL 方法进行了对齐,使其解析行为发生了变化,新版本将会产生对无效字符进行编码,然而这一行为在 iOS 17 以下是不存在的,如果大家对 URL 类中产生的结果较为敏感,建议确认一下变化是否对当前的 App 是否有预期之外的影响。
+
+### 🐎 [A New Approach to Testing in Swift](https://forums.swift.org/t/a-new-approach-to-testing-in-swift/67425)
+
+[@kemchenj](https://kemchenj.github.io/):Swift 团队于近日发布了 swift-testing 预览版,旨在替代 XCTest 成为新的官方测试框架,将 Swift 的特性以及这些年测试框架的发展应用到这个新的库里。
+
+XCTest 作为 Apple 平台的测试框架,最早在 1998 年编写并且大量使用 Objective-C 的动态特性,包括动态消息传递,NSInvocation 和 Objective-C Runtime 等。
+
+当 Swift 诞生时,也顺理成章地继续沿用 XCTest,对 XCTest 进行了一系列拓展以便支持 Swift,但这始终是一个 1998 年编写的框架,并且与 Objective-C 重度耦合,很多功能与 Swift 天生冲突,所以需要一个全新的框架作为继任者。
+
+
+### 🐎 [直播流⻚⾯内存优化⽅案](https://mp.weixin.qq.com/s/RzOpU_50WIZjUUNuKOBShA)
+
+[@JonyFang](https://github.com/JonyFang):上下滑过程中高清直播背景图带来的内存问题相关优化,有类似诉求,解决方案可做参考。
+
+### 🐎 [Android 和 iOS 渲染架构差异对比,孰胜孰负?](https://mp.weixin.qq.com/s/5s11skxtI5FHVTa3ZuqQ7g)
+
+[@Crazy](https://github.com/jiyan135960):本文是一篇科普类文章,主要对比了 Android 与 iOS 两个系统在绘制原理上的区别。文章开篇先简单的讲解了 SurfaceFlinger 和 backboard 的区别,通过对比两种渲染方法后引出 OpenGL 与 Metal 和 Vulkan 的区别,并简单的介绍了关于 OpenGL 的实现与缺点。文章的内容相对简单,没有很多的实现逻辑与长篇大论的代码,只是让大家简单的了解下双端绘制逻辑上的不同。
+
+## 代码
+
+### 🐕 [SwiftUIViewDebug](https://github.com/Kyle-Ye/SwiftUIViewDebug#swiftuiviewdebug)
+
+[@老峰](https://github.com/gesantung):SwiftUIViewDebug 是 SwiftUI 调试工具库,可以使将调试信息编码为 Swift.Data,然后转换为 Swift.String,最后以可读的 JSON 格式来展示视图信息。
+
+### [swift-macro-testing](https://github.com/pointfreeco/swift-macro-testing)
+
+[@kemchenj](https://kemchenj.github.io/):由 PointFree 开发的一款 macro 测试库,对比 SwiftSyntax 提供的测试函数提供了更多功能,例如更丰富的诊断信息,自动填充测试用例的 fix-it 等等,对于 macro 的编写和测试都有非常大的帮助。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#265-2023.10.30.md b/Reports/2023/#265-2023.10.30.md
new file mode 100644
index 000000000..5b71de145
--- /dev/null
+++ b/Reports/2023/#265-2023.10.30.md
@@ -0,0 +1,72 @@
+# 老司机 iOS 周报 #265 | 2023-10-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [iOS & iPadOS 17.2 Beta & Xcode 15.1 Beta 2 Release](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-17_2-release-notes)
+
+上周苹果发布了 [iOS & iPadOS 17.2](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-17_2-release-notes) 、[watchOS 10.2](https://developer.apple.com/documentation/watchos-release-notes/watchos-10_2-release-notes) 、[Xcode 15.1](https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-15_1-release-notes) 等系列 Beta 版本的更新。较为重要的信息如下:
+
+- SwiftUI 新增了 API ``_logChanges()`` 方便开发者在 Debug 下打印 SwiftUI 的变更。与 ``_printChanges()`` 区别仅在于 ``_logChanges()`` 会将日志也打印到系统控制台中。此 API 对所有 iOS/iPadOS/watchOS 等都有效。
+
+- 对使用 Xcode 15.0 构建包含 swift 代码的 App 会较老的 MAC 版本 (10.13) 启动时崩溃,workaround 方案是添加 ``$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/macosx/libswiftAppKit.dylib`` 到 Other Linker Flags 中,此问题在 15.1 Beta 中已修复。详见:[swift/issues/68163](https://github.com/apple/swift/issues/68163)。
+
+## 文章
+
+### 🐎 [Bad practice: not using Phantom Types](https://www.swiftwithvincent.com/blog/bad-practice-not-using-phantom-types)
+
+[@Damien](https://github.com/ZengyiMa):这篇文章讨论了在 Swift 编程中使用虚类型(Phantom Types)引发的错误。作者首先构造了 2 个示例对象,使用虚函数并且导致了错误的行为。随后提出了改进的方案,从而避免了错误的代码行为,想了解 Swift 虚函数感兴趣的同学不妨一读。
+
+### 🐎 [Designing for spatial computing: from iOS and iPadOS to visionOS](https://www.createwithswift.com/designing-for-visionos-shifting-from-ios-and-ipados/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了苹果的 visionOS 以及它在空间计算领域的重要性。文章强调了设计师和开发人员需要了解空间设计的基本原则,以及如何将应用程序从 iOS/iPadOS 平稳地过渡到 visionOS。文章还介绍了 visionOS 应用程序的核心结构,包括窗口、体积、标签栏、侧边栏、装饰、菜单和弹出窗口、以及模态视图。最后,文章强调在从 iOS/iPadOS 过渡到 visionOS 时,需要考虑应用程序的核心功能,并将其适应空间计算范式,而不仅仅是简单地将应用程序移植到新平台。
+
+### 🐎 [Being a good citizen in the land of SwiftSyntax](https://www.pointfree.co/blog/posts/116-being-a-good-citizen-in-the-land-of-swiftsyntax)
+
+[@zvving](https://github.com/zvving):作者使用 SwiftSyntax 依赖管理的实例,详细解释了如何制定更加灵活的主版本依赖声明,从而规避由与第三方库的依赖关系引起的冲突。同时,他建议通过将核心库和可选库分拆,来防止不必要的编译开销。这些思路为 Swift 库的开发者提供了有益的参考。
+
+### 🐎 [Apple ’ s use of Swift and SwiftUI in iOS 17](https://blog.timac.org/2023/1019-state-of-swift-and-swiftui-ios17/)
+
+[@JonyFang](https://github.com/JonyFang):通过 iOS 内置应用程序使用的编程语言,分析到 iOS17 的版本过程中 Swift、SwiftUI 的覆盖比例。通过分析结果可以看到:Objective-C 仍然是 iOS 的核心,并被大多数应用程序直接或间接使用。Swift 和 SwiftUI 的采用持续增长,而 Objective-C、C 和 C++ 的份额逐渐减少。
+
+### 🐎 [The Care and Feeding of Developer ID](https://developer.apple.com/forums/thread/732320)
+
+[@水水](https://www.xuyanlan.com/):这个链接集中记录了对于开发者 ID 签名身份方面会遇到的问题,以及一些注意事项和 Tips。这里还介绍了如何备份你的私钥以及如果你没有独立备份你的开发者 ID 签名身份,如何从 Mac 的常规备份中恢复它。读者可以收藏此链接,可以作为后续关于签名方面的问题参考 ~
+
+## 工具
+
+### 🐎 [Apparency - The App That Opens Apps](https://www.mothersruin.com/software/Apparency/)
+
+[@J_Knight_](https://github.com/knightsj):介绍了一个可以查看 Mac 应用信息的 Mac 应用:Apparency。具体可以查看的信息是:使用的 framework,Info.plist,macOS version info,identifiers,document types 和 URLs 等等信息。
+
+## 音视频
+
+### [Matthew Massicotte - The Bleeding Edge of Swift Concurrency](https://www.youtube.com/watch?v=HqjqwW12wpw)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一个探讨 Swift 并发编程主题的视频,并发编程是一个涉及异步操作和并行处理的领域。该视频将介绍 Swift 中的 async/await 机制和 actor 模型,并讨论如何避免在引入这些机制时可能出现的竞争条件和死锁等陷阱。它的目标是帮助观众了解如何在编写并发代码时避免常见的陷阱和错误,从而编写出更可靠、高效的代码。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#266-2023.11.06.md b/Reports/2023/#266-2023.11.06.md
new file mode 100644
index 000000000..719d85571
--- /dev/null
+++ b/Reports/2023/#266-2023.11.06.md
@@ -0,0 +1,86 @@
+# 老司机 iOS 周报 #266 | 2023-11-06
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐕 [2023 年每个软件开发者都必须知道的关于 Unicode 的最基本的知识(仍然不准找借口!)](https://blog.xinshijiededa.men/unicode/)
+
+[@xuyafei86](https://github.com/xiaofei86):本文使用风趣幽默的语言和生动的配图介绍了字符串编码的发展和 Unicode / UTF-8 的 “基本知识”,可以帮助读者更深入的理解 Swift 中字符串的设计。感兴趣的同学可以阅读原文了解。
+
+## 文章
+
+### 🐕 [视频号直播:如何进一步降低功耗占用?](https://mp.weixin.qq.com/s/LKoGJylYfyk8iTXlvoW0gA)
+
+[@莲叔](https://github.com/aaaron7):这篇文章从一个简单的问题出发:同样的直播间,在有点赞动画时的帧率和 gpu 占用显著高于无动画时,一步步讲解了 iOS 系统渲染的原理以及推导了问题的原因,给出了解决办法(通过 iOS 15 提供的新的 CAAnimation 的 API)。之后进一步分析了系统方案的原理,并且给出了将动画帧率控制从 CAAnimation 动画扩展到 UIView block 动画以及 UIScrollView 动画中,实现整体更稳定的帧率,方案很完整。另外,解决问题是一方面,文章更有价值的点还是对于 ios 的渲染原理做了比较详实的描述,推荐大家阅读。
+
+### 🐕 [深入理解 MachO 结构与运行时系统](https://joey520.github.io/2020/01/30/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3MachO%E7%BB%93%E6%9E%84/%23%E5%89%8D%E8%A8%80)
+
+[@Barney](https://github.com/BarneyZhaoooo):本篇文章详细介绍了 MachO 的结构。前半段主要是结构分析,后半段着重描述 OC 相关数据。理解这些有助于日常写出更高性能的代码,可以反复仔细阅读。
+
+1. **LINK EDIT、符号表、Fishhook 原理介绍。**
+2. **OC 相关数据的详细介绍**
+3. **探究这些的意义**
+
+### 🐎 [Switching Build Systems, Seamlessly](https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/)
+
+[@Smallfly](https://github.com/iostalks):本文主要分享了 Spotify 团队无缝切换构建系统到 Bazel 的过程。随着移动应用程序的规模越来越大,他们的代码库年均增长率超过 30 %,开发者的幸福感和生产力显著下降。通过迁移到 Bazel,一个超大工程原本使用 Xcode 构建耗时超过 45 分钟,迁移后时间缩短到少于 10 分钟。这个过程经历多套构建系统并存以及层层的验证,最后实现能完全由 Bazel 构建 iOS 客户端。
+
+### 🐢 [How async/await works internally in Swift](https://swiftrocks.com/how-async-await-works-internally-in-swift)
+
+[@EyreFree](https://github.com/EyreFree):文章主要探讨了 Swift 中 async/await 的内部工作机制。开头解释了 Swift 的内存安全目标,及并发问题如何影响这个目标。随后,文章深入探讨了 GCD 如何处理并发,以及它的局限性。文章强调了 Swift 引入 async/await 的重要性,例如用以改善并发管理,减少未定义行为等。最后,概述了 async/await 的历史,以及如何利用它来简化并发代码的编写,推荐阅读。
+
+### 🐢 [Working With UIViewRepresentable](https://chris.eidhof.nl/post/view-representable/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章中,他探讨了在 SwiftUI 中使用 UIViewRepresentable ,NSViewRepresentable 或 UIViewControllerRepresentable 来实现 SwiftUI 和 UIKit/AppKit 之间状态通信的几个挑战和解决方案。主要点包括:
+1. 根据 SwiftUI 状态变化更新 UIView 时,只更改必要的 UIView 属性。
+2. 对于 UIKit 变化影响的 SwiftUI 更新,应异步执行以避免运行时警告。
+3. 通过创建一个 MapView 包装器和一个 NSTextView 包装器为例,解释了如何在更新方法中仅在必要时更新视图,以及如何缓存并比较值以避免不必要的更新。
+4. 如何通过修改绑定或调用闭包来从 NSView 向 SwiftUI 通信事件。
+
+### 🐕 [Fatbobman ’ s Swift Weekly](https://fatbobman.substack.com/p/fatbobmans-swift-weekly-001)
+
+[@老驴](https://weibo.com/u/6090610445):Fatbobman 在结束了 100 期的摸鱼周报之后新开了个新坑,叫 Fatbobman ’ s Swift Weekly,目前已经出到了第三期。Fatbobman 的周报和老司机的周报比较类似,会推荐一些 Swift,iOS 开发的相关内容,但是提供了双语内容。有兴趣的话可以关注或者订阅一波。
+
+### 🐕 [记一个诡异的 TCP 挥手乱序问题](https://mp.weixin.qq.com/s/vX0C-AmJ_tIddWbsWeizJA)
+
+[@Crazy](https://github.com/jiyan135960):本文是一篇网络底层的讲解文章,内容有一定深度,并且给大家提供了很多解决这种疑难问题的思路。作者从一个挥手乱序问题开始,告知了大家问题出现的原因:四次挥手中,由于 fin 包和 ack 包乱序,导致等了一次 timeout 才关闭连接。之后又从这个结果开始介绍解决问题的思路与过程,其中包括问题复现试验,内部源码分析,修改内核配合测试,最后确认问题位置。本文最后更是讲解了 close() 下的 tcp 状态转移问题。本篇文章涉及了许多 TCP 的源码与底层知识,读起来会偏久,重要的是学会作者处理这种疑难问题的思路与方法。
+
+## 音视频
+
+### 🐕 [Swift Connection 2023 - Hidde van der Ploeg - How to Make Your App Look Like You've Hired a Designer](https://www.youtube.com/watch?v=tlk9BRvIbq4)
+
+[@Cooper Chen](https://github.com/cjlcooper):这个视频是 Swift Connection 2023 关于普通开发者如何在没有设计师的情况下,遵循一些设计规范来保证 App 的设计感,其中包含以下几点:
+- 定义明确品牌(Define a clear brand)
+- 设计是一种感觉(Design is how it feeling)
+- 保证设计的一致性(Consistence)
+- 保证用户的关注点(Keep focus)
+- 使用层次结构(hierarchical)
+- 给 UI 保留空隙(Give sapce to breath)
+
+这个视频对于独立开发有着很好的参考价值,能帮助开发者更好的设计自己的 UI 界面。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#267-2023.11.13.md b/Reports/2023/#267-2023.11.13.md
new file mode 100644
index 000000000..a8fe2356d
--- /dev/null
+++ b/Reports/2023/#267-2023.11.13.md
@@ -0,0 +1,89 @@
+# 老司机 iOS 周报 #267 | 2023-11-13
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## Developer - 设计开发加速器
+
+### [Apple Vision Pro 挑战赛](https://developer.apple.com/events/view/98ZM6WUVR4/dashboard)
+
+挑战赛地点在上海,分为两场,分别是 11 月 21、22 日,12 月 5、6 日,还没有亲自体验过 Vision Pro 的同学可以报名尝试参加,苹果会培训 空间计算 相关的知识。
+
+## 文章
+
+### 🐢 [深入浅出 MachO](https://evilpan.com/2020/09/06/macho-inside-out/#mach-o-101)
+
+[@JonyFang](https://github.com/JonyFang): 本文通过对 MachO 文件的文件格式研究,介绍了 MacOS 和 iOS 中可执行文件的加载过程,从内核中的处理一直到动态连接器 dyld 的代码分析。可以看出 MachO 与 ELF 相比实现方式各有优势,但是在内核中原生增加了对代码的签名和加密,其实 ELF 也很容易实现类似的功能,但开放系统需要更多考虑兼容性的问题,不像苹果可以大刀阔斧的改动。对于 MachO 的深入理解其实也有助于日常的相关优化,比如 Apple Store 的加密实现以及代码签名的大致原理,还有针对 dyld_cache 的处理等,其中每一项都值得去深入挖掘。
+
+### 🐎 [Calculating a Smooth Clock Hands Animation](https://david-smith.org/blog/2023/11/06/design-notes-46/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章分享了作者在 Widgetsmith 应用中解决时钟指针旋转角度计算问题的经历。开始是发现在 iOS17 下旋转动画问题,于是进行了多次调整,尝试通过考虑每天的开始角度和连续旋转的方案,不过依然存在问题。最终,作者采用了一种基于天数计算的方法,考虑了每天时钟指针的完整旋转次数,并通过测试验证了这一解决方案的有效性。作者提供了方案的 Demo,有相关需求的读者不妨一读。
+
+### 🐕 [Bad practice: not using multiline strings](https://www.swiftwithvincent.com/blog/bad-practice-not-using-multiline-strings)
+
+[@Barney](https://github.com/BarneyZhaoooo):本次推荐是一篇博客,简单介绍了 Swift 对多行字符串的支持,尽量避免主动在字符串中加入 \ 使得代码越来越难以维护。文章浅显易懂还附带视频,一分钟时间就可以掌握一个小知识,值得一看。
+
+### 🐕 [iOS Crash 治理:淘宝 VisionKitCore 问题修复](https://mp.weixin.qq.com/s/pmnrDbIeueGS_7Sck-83qQ)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文详细介绍了手淘技术团队定位 iOS 16.0 ~ iOS 16.2 WKWebView 的系统 bug 的过程,文章详细介绍了如何通过堆栈特征分析、版本对比等方式进行问题原因分析,到最终提出了详细的解决方案,并进行线上验证的过程,其中涉及的 Crash 排查思路值得开发者学习和借鉴。
+
+### 🐕 [iOS libMalloc 源码分析](https://juejin.cn/post/7290817530415775804)
+
+[@老峰](https://github.com/GesanTung):libMalloc 作为内存分配器,研究相关机制,对于理解操作系统内存管理有较大价值。本文作者针对 iOS 底层堆内存分配器 libMalloc 的开源版本(libmalloc-409.40.6)结合源码分析了 NanoZone、ScalableZone(tiny、small、medium、large )不同的内存机制。
+
+### 🐕 [Progress toward the Swift 6 language mode](https://forums.swift.org/t/progress-toward-the-swift-6-language-mode/68315)
+
+[@AidenRao](https://weibo.com/AidenRao):该文章介绍了 Swift 6 的发展和计划,目前的重点在于默认情况下避免数据竞争。[逐步采用即将到来的语言](https://github.com/apple/swift-evolution/blob/main/proposals/0362-piecemeal-future-features.md) 对于迁移到 Swift 6 至关重要:可以一次启用一项即将推出的功能,以逐步将代码库迁移到 Swift 6。
+
+### 🐎 [Things I wish someone would have told me about configuring VSCode](https://www.bryanbraun.com/2023/08/10/things-i-wish-someone-would-have-told-me-about-configuring-vscode/)
+
+[@anotheren](https://github.com/anotheren):本文介绍了一些 VSCode 设置的小技巧,包括:
+* 使用 `.gitignore_global` 来全局忽略 `.vscode` 文件夹;
+* 工作区级别的插件设置;
+* 内建终端的使用;
+
+推荐使用 VSCode 的同学一看。
+
+### 🐎 [Hierarchical background styles in SwiftUI](https://nilcoalescing.com/blog/HierarchicalBackgroundStyles/)
+
+[@Damien](https://github.com/ZengyiMa):本文内容主要讲述了如何在 SwiftUI 中获取和使用系统背景颜色。在 iOS 17 之前,我们通常需要从 UIColor 转换来获取这些颜色。但从 iOS 17 开始,可以直接通过 ShapeStyle 的实例来获取,例如 secondary,tertiary 等属性。这些背景颜色取决于当前的操作系统和颜色方案(启用了浅色或深色模式)。
+
+### 🐎 [Why Curiosity Is Better Than Being Smart?](https://durmonski.com/life-advice/curiosity-is-better-than-being-smart/)
+
+[@水水](https://www.xuyanlan.com/):为什么好奇心比聪明更重要?这篇文章作者从自己出发来告诉读者为什么好奇心很重要,聪明人的思维过程是怎样的、好奇心为什么可以让人变聪明甚至可以变的更聪明、以及如何提高好奇心。好奇的读者可以看看本文哦 ~
+
+## 开源库
+
+### 🌟 [Grape](https://github.com/li3zhen1/Grape)
+
+[@Leo](https://github.com/leomobiledeveloper):一款 swift 编写的支持力模拟和可视化绘制的开源库,兼容 iOS/macOS/vision OS/watch OS. 开发者可以直接利用可视化能力绘制 Force Directed Graph(力导向图),也可以用力模拟模块来自定义实现一些能力。
+
+## 音视频
+
+### [NSSpain XI (2023)](https://vimeo.com/showcase/10672108)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):NSSpain 是一个知名的 iOS 开发者会议,在 NSSpain XI (2023) 中,涵盖了包括应用程序设计、性能优化、新的开发工具、Swift 编程语言的最新进展以及与 Apple 生态系统相关的多个主题,这个会议为开发者提供了与同行建立联系和交流的绝佳机会。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#268-2023.11.20.md b/Reports/2023/#268-2023.11.20.md
new file mode 100644
index 000000000..114012983
--- /dev/null
+++ b/Reports/2023/#268-2023.11.20.md
@@ -0,0 +1,82 @@
+# 老司机 iOS 周报 #268 | 2023-11-20
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### [Generating Random Numbers Elegantly in Swift ](https://www.swiftjectivec.com/swift-randomnumbergenerator/)
+
+[@zoeGuo](https://github.com/zoeGuo):文章介绍了在 Swift 中使用 RandomNumberGenerator 实现产生随机数的方式。写法优雅,可以产生自己任意范围的随机数,线程安全,还会根据 Swift 运行的平台来决定实现随机数的 api。
+
+## 文章
+
+### 🐎 [Reasoning about protocols](https://www.swiftindepth.com/articles/reasoning-about-protocols/)
+
+[@J_Knight_](https://github.com/knightsj):本文作者结合代码实例介绍了在 Swift 中面向协议编程的几个应用场景(动态派发,类泛型,编译期约束和实现合成)。
+
+### 🐕 [在 Airbnb 爱彼迎解锁 SwiftUI](https://mp.weixin.qq.com/s/AokW7NZvjBT76iaRnEnsOA)
+
+[@AidenRao](https://weibo.com/AidenRao): 这篇文章介绍了 Airbnb 在 iOS 应用中采用 SwiftUI 替代原有的 UI 框架 Epoxy 的实践。 也解释了为什么他们决定在 Airbnb 中使用 SwiftUI,并详细介绍了如何将 SwiftUI 集成到 Airbnb 的界面设计中。一个很好的实践,可以作为大家引入 SwiftUI 的参考。
+
+### 🐕 [The complete guide to iOS & macOS development in Neovim](https://wojciechkulik.pl/ios/the-complete-guide-to-ios-macos-development-in-neovim)
+
+[@Smallfly](https://github.com/iostalks):使用 Xcode 开发大型项目的体验一言难尽,这篇文章手把手教你如何在 Neovim 搭建 iOS&macOS 开发环境。支持的功能主要有:
+- 代码补全(Code Completion)
+- 代码检查与格式化(Linting & Formatting)
+- 构建、运行与测试(Build, Run & Test)
+- 调试(Debugging)
+
+所有这些一起至少覆盖了 90% 以上的开发时间,还有少部分功能还是需要依赖 Xcode,例如性能跟踪、调试 UI、管理签名证书等。如果你是一名 vim 党,推荐一试。
+
+### 🐎 [An early look at the future of testing with swift-testing](https://www.polpiella.dev/swift-testing/)
+
+[@kemchenj](https://kemchenj.github.io/):Swift 团队在前一段时间推出了 swift-testing 的 beta 版本,旨在替代 XCTest,让开发者可以用更加现代化的语法编写测试。
+
+这篇文章用一个简单的例子介绍了 swift-testing 的接入和用法,可以看到跟 XCTest 对比提供了更简洁的语法,更好的 async 支持以及更加清晰的诊断信息。
+
+### [百度 APP iOS 端包体积 50M 优化实践(七)编译器优化](https://mp.weixin.qq.com/s/fmiccOgRx9_wopX9QmZiEA)
+
+[@JonyFang](https://github.com/JonyFang): 本文介绍了百度 APP iOS 端包体积优化的编译器优化方案。涉及到的点有:GCC 语言编译优化、Swift 编译优化、LTO 优化、剥离调试符号、剥离符号表、剔除未引用代码、Asset 优化、C++ 虚函数优化、三方 SDK 编译器方向瘦身、指令集架构优化、Xcode 升级优化、Swift 内置动态库优化等。
+
+## 工具
+
+### [SwiftBar](https://github.com/swiftbar/SwiftBar)
+
+[@xuyafei86](https://github.com/xiaofei86):SwiftBar 是一款使用 Swift 编写,用来在 MacOS 菜单栏上展示自定义功能的开源工具。可以使用 Homebrew 安装,只需编写一个 Shell 脚本并将其添加到 SwiftBar 即可使用。你还可以从其插件仓库安装别人编写的脚本,比如展示 CPU 和内存占用、处理文本等。
+
+## 设计
+
+### 🐎 [Ensure Visual Accessibility: Glyphs, Icons and Shapes](https://www.createwithswift.com/ensure-visual-accessibility-glyphs-icons-and-symbols/)
+
+[@水水](https://www.xuyanlan.com/):了解如何正确使用应用程序 UI 上的视觉元素,同时保持其可访问性,包括字形、图标和形状,这些是传达信息、指导我们行动和塑造我们感知的基础。在苹果生态系统中鼓励正确的使用象形文字以及其组合来设计你的视觉元素,需要保证其具有清晰、一致性并且支持辅助功能标签。这篇文章还给了很多相关设计上的具体建议,感兴趣的可以参考。
+
+## 音视频
+
+### 🐢 [SwiftUI + Metal – Create special effects by building your own shaders](https://www.youtube.com/watch?v=EgzWwgRpUuw)
+
+[@Cooper Chen](https://github.com/cjlcooper):视频介绍了基于 SwiftUI + Metal 的形式,通过构建自己的着色器来创建特殊效果,包括如何重新着色、如何实现动画渐变、如何进行形状转换等内容,对于从 c++ 过渡到 SwiftUI 开发 Metal 相关内容的开发者有着很好的参考价值。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#269-2023.11.27.md b/Reports/2023/#269-2023.11.27.md
new file mode 100644
index 000000000..74059fd51
--- /dev/null
+++ b/Reports/2023/#269-2023.11.27.md
@@ -0,0 +1,68 @@
+# 老司机 iOS 周报 #269 | 2023-11-27
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐢 [Flutter 3.16 + Dart 3.2 发布](https://mp.weixin.qq.com/s/vbkhjPNboqK1oDy_J5pzeA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 常规季度更新发布了,本次发布为 Flutter 3.16 + Dart 3.2; 一如既往,本次更新还是以稳定性和性能优化为主,其中值得关注的是 Android Impeller 和 Material 3 成为新的默认主题, 当然了在组件和工具链上也做出了不少改进和更新,感兴趣的同学可以在文中注意查看;[另一个值得关注的点是 Dart 3.2 发布,该版本在 Dart Web 和 Wasm 做了较多更新](https://mp.weixin.qq.com/s/UA5MQLzdf_ZPS56EdNLf2A),从这里可以看到 Flutter 团队对于浏览器端的努力一直在持续,可预见的是 Flutter 在浏览器端的未来可期
+
+## 新手推荐
+
+### 🐎 [Swift strings look identical but aren't](https://damian.fyi/swift/2023/11/13/swift-strings-look-identical-but-aren't.html)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章介绍了两个看起来相同的字符,因为当中包含一个 '\u{FEFF}' 字节顺序标记导致他们出现不相等的情况,作者用了 String 扩展和 'trimmingCharacters(in: .controlCharacters)' 的方式来移除这个标记。
+
+## 文章
+
+### 🌟 🐢 [What Every C Programmer Should Know About Undefined Behavior #1/3](https://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html) [#2/3](https://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html) [#3/3](https://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html)
+[@Smallfly](https://github.com/iostalks):这是探讨 C 系语言未定义行为的系列文章。在系列的第一部分中,作者解释了 C 语言中的未定义行为,并展示了一些案例,说明了它使 C 语言比「安全」语言更具性能的原因。在第二部分,探讨了未定义行为导致的令人惊讶的错误,以及许多程序员对 C 语言存在的一些广泛误解。在最后一部分,探讨了编译器在提供陷阱警告时面临的挑战,并讨论 LLVM 和 Clang 提供的一些功能和工具,以实现性能提升的同时减少一些意外情况发生。
+
+### 🐕 [Debugging SwiftUI views: what caused that change?](https://www.avanderlee.com/swiftui/debugging-swiftui-views/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了调试 SwiftUI 的关键技巧。使用 Self._printChanges 或 Self._logChanges 静态方法可以帮助我们找到引起重绘的根本原因。将视图单一化简单化往往是排查复杂问题的关键,文章分下面五个步骤娓娓道来。
+
+- **What is a dynamic SwiftUI View?**
+- **The problem of a Massive SwiftUI View**
+- **Using LLDB to debug a change**
+- **Solving redraw issues in SwiftUI**
+- **Debugging changes using code**
+
+### 🐎 [Custom Traits and SwiftUI](https://useyourloaf.com/blog/custom-traits-and-swiftui/)
+
+[@Damien](https://zengyima.github.com/):本文主要讲述了在 iOS 17 中,开发者可以添加自定义 Traits 到 UIKit Traits 环境中,并与 SwiftUI 环境进行互操作。在 iOS 17 中,Traits 的处理方式发生了重大变化,Traits 现在可以从 UIScreen、UIWindowScene、UIViewController、UIView 等流向任何子视图控制器。此外,还介绍了如何创建一个自定义 Traits,并给出了一个实际的例子。
+
+### 🐎 [Revealing and explaining package scores](https://blog.swiftpackageindex.com/posts/revealing-and-explaining-package-scores)
+
+[@EyreFree](https://github.com/EyreFree):这篇文章主要介绍了 Swift Package Index 中的一个新功能:Package 评分,并解释了这个分数是如何计算的。得分系统基于多个特征来评估软件包,包括:软件包是否被存档、是否拥有与 App Store 兼容的开源许可证、发布次数、Star 数量、依赖数量、最近活动、文档和贡献者数量、是否有测试代码和是否有 README 文档等,可以作为大家选择开源库的参考。
+
+## 代码
+
+### [MachOView](https://github.com/gdbinit/MachOView)
+Mach-O 相信很多同学或多或少已经接触过或者有所了解,它是 Mach Object 文件格式的缩写,是 mac 以及 iOS 上的可执行文件。MachOView 这个工具可以快速查看 Math-O 格式的文件,简单易用,同时工具在今年迎来了 3.0 版本的大更新。对于经常需要分析静态库等文件的同学可以下载使用
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#270-2023.12.04.md b/Reports/2023/#270-2023.12.04.md
new file mode 100644
index 000000000..ba40ec45f
--- /dev/null
+++ b/Reports/2023/#270-2023.12.04.md
@@ -0,0 +1,74 @@
+# 老司机 iOS 周报 #270 | 2023-12-04
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 即将迎来圣诞审核高峰,各位开发者调整好提交时间
+
+苹果预告将在 12 月 22~27 日 迎来圣诞假期,期间审核会相对变慢,根据惯例加急也会照常开放,有期间发版需求的同学需要早做安排。根据往年经验在 20 日提审大概率可以在高峰来临前通过审核。
+
+## 文章
+
+### 🐕 [建立个人学习观|地铁上的自习室](https://mp.weixin.qq.com/s/azyF-y5jPIy5trOpZFf0pA)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/): 本文旨在帮助初入职场或陷入迷茫的读者建立个人学习观,强调在日常生活中保持学习心态,在不同空间和阶段中收获额外的东西,让学习成为一种习惯,丰富自己的知识和人生。
+
+### 🐎 [Missing Xcode run test buttons](https://paul-samuels.com/blog/2023/10/24/missing-xcode-run-test-buttons/)
+
+[@Barney](https://github.com/BarneyZhaoooo):Xcode 运行测试按钮缺失恢复的小技巧、复制测试类名到导航器面版的过滤器中然后在该面板中点击播放按钮。
+
+### 🐎 [Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma](https://blog.timac.org/2023/1128-state-of-appkit-catalyst-swift-swiftui-mac/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章对 macOS 的开发组件和语言的演变提供了深入洞察,涉及了二进制数量、编程语言选择以及 UI 框架采用等方面。Sonoma 总共有 7884 个二进制文件,其中 Objective-C 仍然是核心语言,Swift 使用率不断增加。
+
+SwiftUI 在 Sonoma 中得到显著应用,文章还观察到 Swift 在安全区域处理器中的使用,展示了 Swift 在受限环境中的适用性。总体而言,Swift 和 SwiftUI 的采用不断增长,而 Mac Catalyst 则呈下降趋势,标志着这项技术已进入过渡期。
+
+### 🐕 [Observable Architecture Beta!](https://www.pointfree.co/blog/posts/125-observable-architecture-beta)
+
+[@zvving](https://github.com/zvving):Swift 5.9 引入的 `@Observable` 标志着数据驱动 UI 方式的重大转变。随着这种变化,The Composable Architecture(TCA) 项目推出了重要的升级——集成 Observable 并向后兼容至 iOS 13 的新版本。目前,TCA 项目在 GitHub 上的关注已度突破了一万星标。
+
+值得指出的是,TCA 是一种有较高学习和应用成本,但同时又提供大量示例和教程的重量级框架。如果你对 TCA 感兴趣,可以通过[TCA - SwiftUI 的救星?系列文章](https://onevcat.com/2021/12/tca-1/)、[聊一聊可组装框架(TCA)](https://fatbobman.com/posts/the_Composable_Architecture/)或阅读[官方教程](https://pointfreeco.github.io/swift-composable-architecture/main/tutorials/meetcomposablearchitecture/)来深入了解。
+
+### 🐎 [《产生式元编程》第三章 替换蓝染概念纤悉](https://mp.weixin.qq.com/s/V5LRUPhSCagSI5W3lj9hbw)
+
+[@J_Knight_](https://github.com/knightsj):本文作者结合代码介绍了宏被替换的过程:如果是有参数的宏。会先替换参数;如果是无参数的,则直接扫描。系统会将扫描一直循环进行下去,而扫描停止的条件是触发了蓝染。蓝染的概念是:一次扫描中,若是替换的 token 引用了其自身,该 token 就会被标记为不可处理状态。这个标记动作就称为 Painted blue。然后作者讲解了蓝染的触发机制,以及剖析了 C 预处理器不支持递归的原因。
+
+### 🐎 [初探 SwiftUI Link](https://kyleye.top/posts/explore-swiftui-link/)
+
+[@kemchenj](https://kemchenj.github.io/):本文从 `Link` 在 watchOS 上无法成功打开链接开始探究,先是逆向出 `Link` 的实现,接着是私有 API `_openSensitiveURL` 的调用,`OpenSensitiveURLActionKey` 的实现细节,最终将研究的内容汇总得到最合理的解决方案。
+
+### 🐎 [iPhone 加入游戏,但 USB-C 的乱纪元还没有完结](https://sspai.com/post/84508)
+
+[@老驴](https://weibo.com/u/6090610445):来自少数派的一篇科普向的文章,主要是给大家梳理下 USB-C ,Thunderbolt 和传输协议之间的各种交错复杂的关系。不过,即便你没有能完全搞懂也没关系,因为大多数情况下不影响基本的充电,而更多的是影响数据传输速度。
+
+## 工具
+
+### [devv.ai](https://devv.ai/)
+
+[@zoeGuo](https://github.com/zoeGuo):[devv.ai](https://devv.ai/) 自称“最懂程序员的新一代 AI 搜索引擎”。你可以用它来搜索某个技术名词,可以获得比较完善的技术摘要,还有引用原文。可以在上一问题上追加提问,因为接入了搜索引擎的数据,回答结果也都比较新,程序员可以试试用它学习一些新的概念。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#271-2023.12.11.md b/Reports/2023/#271-2023.12.11.md
new file mode 100644
index 000000000..ce2b8d948
--- /dev/null
+++ b/Reports/2023/#271-2023.12.11.md
@@ -0,0 +1,77 @@
+# 老司机 iOS 周报 #271 | 2023-12-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [25 hours of Xcode Cloud now included with the Apple Developer Program](https://developer.apple.com/news/?id=ik9z4ll6)
+
+从 2024 年 1 月开始,每个付费开发者都将免费获得每月 25 小时的 Xcode Cloud 服务。使用 Xcode Cloud 服务可以方便得完成打包上传提审 TF 这一系列操作,对于独立开发者来说不用花费时间精力研究 AppStore Connect API 还是很有吸引力的。
+
+## 新手推荐
+
+### 🐎 [Play an animation in RealityKit](https://www.createwithswift.com/play-an-animation-in-realitykit)
+
+[@zoeGuo](https://github.com/zoeGuo):这是一篇介绍使用 RealityKit 在 3D 模型上实现动画的入门级文章。文章简单介绍了 RealityKit 为 3D 模型提供的默认动画如何使用,以及自定义动画的几种方法:定义 transform 变量,通过 move 方法做动画;定义对象的起始位置,使用 FromToByAnimation 方法做动画; OrbitAnimation 可以使对象从指定点开始做平滑的圆周运动;BlendTreeAnimation 可以将多个动画合并执行。
+
+### 🐕 [AsyncStream in the real world: wrapping an Apple Photos callback](https://damian.fyi/swift/2023/12/03/asyncstream-in-the-real-world-wrapping-an-apple-photos-callback.html)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文以获取相册照片为例,具体讲述了如何使用 **AsyncStream** 优雅地包装相册获取回调。
+
+- 普通写法展示
+- 进阶写法展示
+- 小问题解决
+
+## 文章
+
+### 🐢 [现代 CPU 技术发展](https://juejin.cn/post/7309061655094837283)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章深入探讨了现代 CPU 技术的多个方面。首先,它详细描述了提升 CPU 性能的各种方法,如增加晶体管数量、优化流水线微架构等。其次,文章强调了模块化设计在现代 CPU 设计中的重要性,以及如何通过组合基础指令集和扩展指令集来满足不同场景的需求。此外,文章也指出了功耗墙对 CPU 性能提升的限制,并探讨了未来可能通过新增 DSA 模块和使用 Chiplet 技术等方式来克服这些限制。在指令集架构方面,文章比较了不同指令集对 CPU 性能和能耗的影响,尤其关注了 x86 和 ARM 平台之间的差异。最后,文章还展望了未来 CPU 可能的发展趋势,包括提高 IPC 和时钟频率、增强多线程并行能力、优化内存技术以及采用大小核异构架构等。总之,这篇文章为读者提供了一个全面而深入的现代 CPU 技术概览,既回顾了当前的技术现状,又展望了未来的发展趋势。
+
+### 🐎 [Introducing Swift MMIO](https://forums.swift.org/t/introducing-swift-mmio/68525)
+
+[@AidenRao](https://weibo.com/AidenRao):swift-mmio 是一个为嵌入式 Swift 生态系统设计的库,旨在为嵌入式固件开发提供安全、可靠的 API,例如读取和写入内存映射寄存器。swift-mmio 从 C++ 和 Rust 等语言的 mmio 库中汲取灵感,专注于提高与 MMIO 交互的代码的正确性。swift-mmio API 仍在不断发展,作者欢迎大家在 Swift 论坛、GitHub 上提供反馈,
+
+### 🐎 [2024 年 Kotlin Multiplatform 发展路线图 | 官方博客](https://mp.weixin.qq.com/s/IANDWuYiLlE_f2TSTPukaw)
+
+[@Crazy](https://github.com/jiyan135960):本文是官方推出的一篇关于 Kotlin Multiplatform 在 2024 年开发计划的文章,主要介绍了 Kotlin Multiplatform 团队在 2024 年的整体规划。首先确认了 Compose Multiplatform 在未来的核心地位,ComposeUI 在 Android 端逐渐进入大家的视野,就像当年 Java 切换为 Kotlin 一样,CompseUI 也会逐渐替换 XML 的页面构建形式成为 Android 开发的主流,毕竟 XML 的弊端实在太多,虽然近几年有了 ViewBinding 和 DataBinding 的辅助以后已经好了很多,但是对比于 Flutter 这种简单且快速的构建方式来讲差了很多。在工具方面 Fleet 已经可以开发 Kotlin Multiplatform 并且文章中介绍后续会快速迭代完善开发体验.对于 Multiplatform 核心的研发主要还是提升全平台开发者的开发体验,比如提升编译速度,在 IDE 与构建系统中即成 Swift Export 等。最后是对库生态的介绍,总结一下就是虽然稳定,但还需努力,改动一定很大,但是会兼容。让我们共同期待 Kotlin Multiplatform 可以像 Flutter 一样,在某个时间给我们一个惊喜。
+
+### 🐎 [Upcoming third-party SDK requirements](https://developer.apple.com/cn/support/third-party-SDK-requirements/)
+
+[@Damien](https://github.com/ZengyiMa):在 2024 年春季,苹果商店即将开启 Privacy manifests 清单的审核,届时,在上传 App 的时候,我们需要提供隐私清单和 SDK 签名,此外苹果也给出了最新的 SDK 名单列表。请大家一定尽早准备,以免在审核期间被拒审。
+
+### 🐕 [MusicKit and App Clips](https://www.polpiella.dev/musickit-and-app-clips/)
+
+[@anotheren](https://github.com/anotheren):[MusicKit](https://developer.apple.com/documentation/musickit) 是一个与 Apple Music 交互的 Apple 官方框架,这是开发者最方便获取 Apple Music 内容的方式,但是它在 App Clips 中工作不正常。作者介绍了如何通过 URLSession 直接构造 [Apple Music API](https://developer.apple.com/documentation/applemusicapi) 请求,来直接获取相关数据。
+
+## 代码
+
+### 🐎 [Pow: Delightful SwiftUI effects for your app](https://movingparts.io/pow)
+
+[@zvving](https://github.com/zvving):Pow 是一款基于 SwiftUI 的动画库,其官网详细提供了各类内置动画的预览和上手指南,能方便地为你的 App 注入精美的动画效果。最近,Pow 宣布开源,为那些寻求深入理解 Pow 动画实现的开发者们提供了便利,强烈推荐大家尝试使用和学习!
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#272-2023.12.18.md b/Reports/2023/#272-2023.12.18.md
new file mode 100644
index 000000000..909b609ec
--- /dev/null
+++ b/Reports/2023/#272-2023.12.18.md
@@ -0,0 +1,74 @@
+# 老司机 iOS 周报 #272 | 2023-12-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [Flutter 小技巧之 3.16 升级最坑 M3 默认适配技巧](https://mp.weixin.qq.com/s/SIEYjZn0gKNMCGlPeg1rGw)
+
+[@Crazy](https://github.com/jiyan135960):本文是一篇介绍如何在升级 Material 3 后,适配原有 Material 2 控件的文章,本文虽然读起来会很快,但是会为开发者减少大量的时间去解决系统级的适配问题。本文主要介绍了以下几个控件在 Material 3 升级后的变化,以及如何适配 Material 2 的方法。
+
+- AppBar: 背景的颜色,icon 的颜色,字体的颜色,都会被修改。文章中介绍通过修改 AppBarTheme 的 backgroundColor 来设置背景颜色,然后在 AppBarTheme 里配置 iconTheme 来修改 icon 的颜色与大小,最后通过 titleTextStyle 来修改字体的大小。
+- Card: 升级后的 Card 会在设置完颜色后仍然有浅蓝色的效果,文章中介绍通过在 ColorScheme 下设置 surfaceTint 为透明色就可以解决这个问题。
+- FloatingActionButton: 升级后此控件变化极大,不仅颜色变化,就连形状也发生了变化。文章中介绍首先通过修改控件中 floatingActionButtonTheme 属性里面的 backgroundColor 与 shape 两个属性完成背景颜色与形状的修改,然后通过修改 floatingActionButtonTheme 的 foregroundColor 属性来修改 icon 的颜色。
+- primarySwatch: 文章中提到如果之前使用了 primaryColorDark 和 primaryColorLight 作为配置,升级后会发生改变,只要在 ThemeData 中为 primarySwatch 参数赋值为 color as MaterialColor 即可解决。
+
+### 🐢 [Hummer 引擎优化系列 - PlatformView 的演进历史与优化探索](https://mp.weixin.qq.com/s/R3UUlgEPVR909NB_Jz6o-w)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): PlatformView 是 Flutter 中插入 Native 组件的唯一方式,自诞生以来经历了多次迭代和优化;本文由 U4 内核技术组分享,沿着 PlatformView 方案的演进历史,剖析各个方案的实现原理和优缺点,给出最佳实践,帮助读者理解和正确选择 PlatformView 的渲染模式;小编强烈推荐各位在用 Flutter 技术的同学详细阅读本文。
+
+### 🐕 [SFSafariViewController in SwiftUI: Open webpages in-app](https://www.avanderlee.com/swiftui/sfsafariviewcontroller-open-webpages-in-app/)
+[@享耳先森](https://github.com/iblacksun):`SFSafariViewController` 常用于在 App 内打开外部链接,但目前并没有 `SwiftUI` 版本。本文深入浅出,开始使用 `UIViewRepresentable` 简单封装 UIKit 使其在 `SwiftUI` 可用,之后再结合 `View Modifier` 等特性优化。
+
+### 🐕 [网易云音乐 RN 新架构升级实践](https://mp.weixin.qq.com/s/tAf0SnW2M7Sp0E72YLJP5w)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):本文介绍了网易云音乐从 ReactNative 0.33 版本到 0.70 版本的升级历程,以及新架构升级的背景和收益。随着 RN 作为主要跨端方案建设的推进,业务对页面打开效率和使用体验的要求越来越高,跨端使用场景进一步扩大受阻。经过对比新老架构的性能、Bundle 包大小、客户端包大小、内存占用等多角度数据,新架构 Hermes 引擎预编译后性能得到了提升显著。
+
+## 工具
+
+### 🐕 [Marin's Side Projects 2023](https://trycombine.com/posts/marin-side-projects-2023)
+
+[@EyreFree](https://github.com/eyrefree):这篇文章是 Marin 对自己 2023 年进行的几个业余项目的分享与总结。介绍了包括一个实时从项目源文件中追踪 `TODO:` 和 `FIXME:` 注释的问题追踪器 Breadcrumbs、可视化显示 `Package.swift` 的 PackageView、使用 Swift 并发进行解压的 Unxippity、基于 Markdown 的应用程序演示制作工具 MarkWalkthrough、半 Markdown 编辑器半开发者控制台的 MarkPlayground、将文档作为 Markdown 文件处理的 PDFDoc 以及读取 Mac 控制台日志的 LogRider 在内的一些列应用程序,并提供了部分项目的代码,感兴趣的朋友可以看看。
+
+### 🐕 [Flutter 上了 Apple 第三方重大列表,2024 春季 iOS 的隐私清单究竟是什么](https://mp.weixin.qq.com/s/Z5rc2ud3hJ2k7hN7EItyPA)
+
+[@极速男孩](https://github.com/ztlyyznf001):苹果在 2023 年 WWDC 后宣布的隐私政策更新,对 Flutter 产生了重大影响。这些更新引入了第三方 SDK 的隐私清单,目的是提高数据收集和使用的透明度。Flutter 及其不少插件被苹果列为具有重大隐私影响,引发了对其数据实践的关注。这些更新要求开发者提交详细的隐私报告,包括数据收集类型、与用户的关联、跟踪用途和收集原因。此外,它们还要求声明跟踪域名,特别是在应用跟踪透明度 (ATT) 框架下,并要求对第三方 SDK 进行签名以防篡改。这些发展为 Flutter 开发者带来了挑战,特别是在适应 iOS 17 方面。
+
+## 代码
+
+### [MLX: An array framework for Apple Silicon (Made by Apple)](https://github.com/ml-explore/mlx)
+
+[@老驴](https://weibo.com/u/6090610445):Apple 也来赶最近的 AI 浪潮了。 Apple 发布了一个 为 Apple Silicon 特别优化的 Machine Learning 的框架,API 参照了 Numpy 和 PyTorch 进行设计,甚至写范例 port 了 LLaMA 这些热门的大语言模型。如果你最近也在玩大模型,尤其是想部署在本地的话,一起来学习下 Apple 的这个框架吧。
+
+### [Async Algorithms 1.0 Released](https://github.com/apple/swift-async-algorithms)
+
+[@kemchenj](https://kemchenj.github.ion/):异步编程在避免堵塞的同时让我们失去了 control flow,但相对应的在异步的极致 Rx 里,我们也获得了 throttle/combineLatest 这些时间魔法。
+
+Swift 新加入的 async/await 消除了同步编程和异步编程之间的差异,让我们可以在异步编程里也用上熟悉的 control flow,并且我们也没有失去时间魔法,它以 AsyncSequence 的形式存在于 Swift Concurrency 的世界里。
+
+但 throttle/combineLatest 这些上层的操作符并没有直接在标准库里实现,而是在 Async Algorithms 这个库里探索实现,现在这个库发布了 1.0 版本宣布 API 的稳定。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2023/#273-2023.12.25.md b/Reports/2023/#273-2023.12.25.md
new file mode 100644
index 000000000..424e8efe3
--- /dev/null
+++ b/Reports/2023/#273-2023.12.25.md
@@ -0,0 +1,65 @@
+# 老司机 iOS 周报 #273 | 2023-12-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [独立开发提高产品定位成功率:找到 3 个对标产品](https://juejin.cn/post/7312640704404832283)
+
+[@zoeGuo](https://github.com/zoeGuo):这是一篇独立开发者从自身经验中总结出的关于怎么找到产品方向,以及怎么提高产品定位成功率的文章。作者通过几个例子分别描述了“大池小鱼”原则,分别找到目标用户正在用的产品、同样卖点的产品以及你的参照产品,来快速定位你的独立开发产品。有多少读者是独立开发者或者正跃跃欲试独立开发呢?这篇文章也许会打开你的独立开发的思路哦~
+
+### 🐕 [货拉拉 iOS 模块化路由框架:TheRouterSwift](https://juejin.cn/post/7281889329584275471)
+
+[@EyreFree](https://github.com/eyrefree):这篇文章介绍了货拉拉团队开发的 iOS 模块化路由框架 TheRouterSwift,这是 TheRouter 系列的 Swift 版本,旨在提供给 Swift 开发者一个高效的路由框架,用于模块间解耦和通信。它支持页面导航跳转、路由自动注册、路由映射文件导出、服务自动注册、动态化能力、链式编程、Objective-C 的适配、本地和远程服务调用等功能,还支持异步获取注册类和路由本地缓存能力,以优化性能和提高灵活性。文章详细介绍了 TheRouterSwift 的功能和使用方法,感兴趣的同学可查看原文获取更多信息。
+
+### 🐢 [苹果 iOS 分发和安装 App 的那些趣事](https://juejin.cn/post/7315260397371490319)
+[@享耳先森](https://github.com/iblacksun):本文介绍了苹果 iOS 应用分发和安装的一些有趣的事。讨论了不同的开发者计划和分发方式:包括企业签名、超级签名、TestFlight 签名和 MDM 超级签名,还提到了开发者模式、企业账号、设备注册限制以及自定 App 和非公开 App 分发的解决方案。最后,讨论了欧盟的《数字市场法》对苹果的影响和可能改变苹果软件生态的可能性。
+
+### 🐎 [云音乐自研客户端 UI 自动化项目-Athena](https://mp.weixin.qq.com/s/CX9j63Wxe8qlvqVMjyRhpg)
+
+[@老峰](https://github.com/gesantung):本文介绍了云音乐在 UI 自动化测试上的一站式解决方案 Athena,其采用了录制的方式解决传统自动化方案录制门槛高、效率低下的问题,在回放过程中前置准备用例执行环境以及结合曙光埋点提升用例执行的稳定性,并且会保留执行过程中的现场信息以便后续溯因。最后通过私有云部署,在云端即可统一调度 Android 和 iOS 设备来执行任务。
+
+### 🐎 [Symbolicating SwiftUI (and any Apple Framework)](https://www.emergetools.com/blog/posts/symbolicating-swiftui-and-any-apple-framework)
+
+[@Damien](https://github.com/ZengyiMa):这篇博客文章介绍了如何使用 Emerge Tools 的开源 ETSymblication 库和 symbolicator 来符号化 SwiftUI 等 Apple 框架。这个过程包括使用 Framework 选择器和两个步骤:线程和偏移量来提取符号。然后,将这些符号以 CSV 格式存储在数据库中,以便在 symbolicator 中引用。文章还详细解释了如何下载和理解崩溃报告,以便从中提取和解释信息。对符号化感兴趣的同学不妨一读。
+
+### 🐕 [Trigger property observers from initializers in Swift](https://nilcoalescing.com/blog/TriggerPropertyObserversFromInitializersInSwift/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了几种 workarounds 使得 property observers 在 initialization 阶段也可以被触发。
+简短实用,大家可以选择适合自己的方式。
+
+- Set properties after initialization
+- Separate property setup method
+- Create a defer closure
+- Manually trigger side effects
+
+## 工具
+
+### [MacSymbolicator](https://github.com/inket/MacSymbolicator)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一个用于符号化 macOS/iOS 崩溃报告的 Mac 应用程序,可以方便快捷的符号化 crash 和 ips 文件。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#274-2024.01.08.md b/Reports/2024/#274-2024.01.08.md
new file mode 100644
index 000000000..935e4269a
--- /dev/null
+++ b/Reports/2024/#274-2024.01.08.md
@@ -0,0 +1,74 @@
+# 老司机 iOS 周报 #274 | 2024-01-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [The Art of the Corner Radius](https://david.y4ng.fr/the-art-of-the-corner-radius/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本篇文章简单介绍了 swiftUI 中 **Corner Radius** 的基础使用,浅显易懂,图文并茂,只需 3 分钟就可以领略“圆角”的艺术。
+
+## 文章
+
+### 🌟 🐢 [微信业务开发方法与实践](https://mp.weixin.qq.com/s/we4LCGAwDC6bS7rQNztWMQ)
+
+[@xuyafei86](https://github.com/xiaofei86):在当前竞争激烈的商业环境中,深刻理解业务流程对于开发复杂软件系统至关重要。微信团队万字长文带你拔开迷雾,直达本质,深入理解业务是什么,以及如何挖掘业务价值。
+
+本文详细阐释了业务建模的核心概念和方法,并通过支付业务的具体案例进行演示。你将从文中学到如何理解构建的业务系统背后所服务的目标组织,深入其业务流程,找出改进机会。感兴趣的同学可以阅读原文了解。
+
+### [尾调用以及如何规避](https://r3zpy9khqv.feishu.cn/docs/doccnCwMGwhIDmMi4miM7VfHqpe)
+
+[@老峰](https://github.com/gesantung):尾调用(Tail Call)是函数式编程的一个重要概念,本文介绍它的基本概念以及通过使用 OS_NOT_TAIL_CALLED 规避尾调用的代码优化方式。
+
+### [浏览器内核创新技术演进及实践 - U4 5.0](https://mp.weixin.qq.com/s/5xIJIN2nUBN2h6McYFg2FQ)
+
+[@莲叔](https://github.com/aaaron7):U4 是 UC 基于 Chromium 内核二次开发的浏览器引擎,在阿里内部被广泛的使用。本篇文章介绍了在介绍 U4 的 5.0 新版本特性的同时,也科普了很多浏览器内核相关的技术,比如性能提升的关键模块:渲染引擎与 JS 引擎。移动端目前越来越多的业务通过 H5 来实现,作为客户端的同学多了解一些浏览器引擎的技术对于协助前端做出更优化的体验是很有帮助的。推荐阅读。
+
+### [哥伦布即时设计平台 ChatGPT 落地实践](https://mp.weixin.qq.com/s/5BuX1m_GDHQzuW_Kj2siOw)
+
+[@水水](https://www.xuyanlan.com/):本文介绍了 ChatGPT 在哥伦布即时设计平台应用以及实现原理,通过设计 ChatGPT 交互 DSL、Prompt 与 Function 实现 Ai 智能交互、提高平台搭建效率。即让 AI 通过 DSL 了解即时设计能力,同时输出 DSL 解析执行,设计平台具备以下能力:
+1.画布编辑能力:提供了丰富的画布编辑功能,包括添加、删除、复制、调整层级等操作,可以灵活地编辑页面的结构和布局。
+2.样式配置能力:支持对页面元素的样式进行配置,包括字体、颜色、大小、边框等,可以根据需求进行自定义的样式设置。
+3.数据接口配置能力:支持与数据接口的绑定,可以通过配置数据接口来实现页面内容的动态展示,提高页面的灵活性和可扩展性。
+4.交互事件配置能力:支持对页面元素的交互事件进行配置,包括点击、滑动、弹窗等,可以实现页面的交互效果,提升用户体验。
+5.预览和下载能力:提供了在线预览和下载代码的功能,可以实时查看页面效果,并将设计的页面代码下载到本地进行进一步开发和调试。
+
+## 工具
+
+### [Unxippity](https://trycombine.com/posts/an-app-experiment-about-unxipping-xcode-goes-to-github/)
+
+[@Smallfly](https://github.com/iostalks):这是一款 [unxip](https://github.com/saagarjha/unxip) 的可视化开源工具,用于加速下载和解压 Xcode。
+
+## 代码
+
+### [swift-retry](https://github.com/fumoboy007/swift-retry?tab=readme-ov-file)
+
+[@AidenRao](https://weibo.com/AidenRao):该项目是一个 Swift 语言的重试库,旨在提供合理的默认设置和强大的灵活性。
+
+- 合理的默认设置:默认选择[指数退避](https://en.wikipedia.org/wiki/Exponential_backoff)算法,适用于大部分场景,避免对资源进行 DDoS。
+- 强大的灵活性:该库提供了多个自定义选项以适应不同的使用场景,包括自定义关闭、重试配置、退避算法选择以及时钟替换等。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#275-2024.01.15.md b/Reports/2024/#275-2024.01.15.md
new file mode 100644
index 000000000..27b300fa3
--- /dev/null
+++ b/Reports/2024/#275-2024.01.15.md
@@ -0,0 +1,57 @@
+# 老司机 iOS 周报 #275 | 2024-01-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [@Observable Macro performance increase over ObservableObject](https://www.avanderlee.com/swiftui/observable-macro-performance-increase-observableobject/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章主要介绍 WWDC 2023 中首次公开的 @Observable 宏,这是一个设计精良的工具,旨在优化 SwiftUI 视图并提升应用性能。通过使用 @Observable 我们能有效地防止不必要的视图重绘 , 并更流畅地观察状态变化。尽管使用 @Observable 宏让我们无需再使用 @ObservedObject,ObservableObject 和 @Published,但为了确立模型数据来源仍需依赖 @State。
+
+### 🐎 [Perception: A back-port of @Observable](https://www.pointfree.co/blog/posts/129-perception-a-back-port-of-observable)
+
+[@Smallfly](https://github.com/iostalks):Swift 5.9 引入了强大的观察者工具 @Observable 宏,但仅适用于 iOS 17、macOS 14、tvOS 17、watchOS 10 等新平台。由于少于 50% 的设备运行在 iOS 17 上,大多数开发者需要等待数年才能使用这些工具。[swift-perception](https://github.com/pointfreeco/swift-perception) 提供了在低版本中使用 @Observer 的能力,并且在高于 iOS 17 上会自动使用系统的实现。有需要的读者可以一试。
+
+### 🐕 [Adapting your App Icon to visionOS](https://www.createwithswift.com/adapting-your-app-icon-to-visionos/)
+
+[@享耳先森](https://github.com/iblacksun):Apple Vision Pro 即将发售,如果你的 App 准备适配 visionOS,本文介绍了如何将现有的 App Icon 进行修改已完美匹配 visionOS 规范。
+
+### 🐢 [iOS Availability 编译器实现机制解析](https://juejin.cn/post/7316202786173829146)
+
+[@JonyFang](https://github.com/jonyfang): 文章探讨了 iOS 开发中的 Availability 机制,这是 iOS 编译器提供的一个用于处理不同 iOS 系统版本之间 API 兼容性问题的功能。该机制允许开发人员声明 API 的版本约束,并进行可用性检查来防止在旧版 iOS 系统上调用不存在的新 API,从而避免应用崩溃。然而,作者通过研究 Clang 和 Swift 编译器源码指出,Availability 的检查只局限于方法内部的直接调用,不能保证完全的运行时安全性。
+
+### 🐕 [Encrypted Portals between Macs – built in Swift and Rust](https://github.com/build-trust/ockam/blob/develop/examples/app/portals/README.md)
+[@水水](https://www.xuyanlan.com/):Portals 是一款 Swift 开发的 Mac 应用程序。它使用 Ockam Rust 库在 Mac 上与任何人、任何地方私下共享服务。该服务通过端到端加密的 Ockam 门户进行安全共享。你的朋友将可以在他们的本地主机上访问它!
+
+
+## 代码
+
+### 🐎 [Missing compiler warning](https://github.com/apple/swift/issues/70630)
+
+[@Cooper Chen](https://github.com/cjlcooper):在 Swift 中,当 override 函数 / 方法具有相同名称但有更多参数,并且这些参数获得默认值时,理论上编译器会对这样的写法产生一个 waring,但是实际开发中并没有出现预期的警告,这个 issue 解释了以上行为的 root cause,并且提出可以使用 `let _ = Printable.init(from:as:)("Sebastian")` 这样的写法,同时也可以对 init 方法增加 `@_disfavoredOverload` 关键字的写法,但需要提醒的是,并不推荐这样的用法,但这为有类似 case 的开发者提供很好的思路。
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#276-2024.01.22.md b/Reports/2024/#276-2024.01.22.md
new file mode 100644
index 000000000..897dd62d2
--- /dev/null
+++ b/Reports/2024/#276-2024.01.22.md
@@ -0,0 +1,65 @@
+# 老司机 iOS 周报 #276 | 2024-01-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐕 [Bad practice: using "YYYY" to format a Date](https://www.swiftwithvincent.com/blog/bad-practice-using-yyyy-to-format-a-date)
+
+[@极速男孩](https://github.com/ztlyyznf001):文章讲述了在 Swift 编程语言中关于日期格式化的一个常见错误。"YYYY" 实际上表示的是该周开始的年份,这会导致新年初几天的日期显示不正确。例如,2023 年 1 月 1 日会错误地显示为 2022 年。这个错误通常在新年开始时才被注意到。正确的年份格式化方法应该使用 "yyyy" ,以确保准确表示日历年份。
+
+## 文章
+
+### 🐕 [在微信小程序里运行完整的 Flutter,我们是怎么做到的?](https://juejin.cn/post/7324923422295670834)
+
+[@邦 Ben](https://github.com/linwenbang):MPFlutter 是一个跨平台 Flutter 开发框架,可用于各种小程序、H5、原生应用开发。这类跨平台开发,在一些中小型的开发场景来说,可以提高比较大的效率。本文主要介绍一下在微信小程序上实现的原理,通过裁剪 Skia 生成符合微信小程序分包要求的 CanvasKit,使用 Flutter Web + W3C BOM + WebGL Canvas 跑通渲染流程,通过字体内置、智能分包的方式很好地解决了微信包体积限制。选型的过程也有介绍,有兴趣的同学可以仔细看看,也可以基于官网流程体验尝试。
+
+参考链接:[官网](https://mpflutter.com/zh/)
+
+### 🐢 [Swift for C++ Practitioners, Part 1: Intro & Value Types](https://www.douggregor.net/posts/swift-for-cxx-practioners-value-types/)
+
+[@AidenRao](https://weibo.com/AidenRao):这个系列主要是通过将 C++ 的习惯用法、模式和思维模型映射到 Swift 中来帮助 C++ 开发学习和使用 Swift。如果你是一位 C++ 背景的开发,阅读 [Swift 入门指南](https://www.swift.org/getting-started/) 中有比较多的困惑,那可以尝试一下该系列,能帮助你更好的理解和应用 Swift。
+
+### 🐕 [VisionPro News](https://developer.apple.com/news/?id=8fppguuh) && [Q&A: Building apps for visionOS](https://developer.apple.com/news/?id=prl6dp5r)
+
+[@EyreFree](https://github.com/EyreFree):在这两篇文章中,Apple 专家回答了关于 visionOS 的常见问题,涵盖了如何与实体互动、选择窗口组或沉浸式空间、可视化碰撞形状、在沉浸式空间中定位 SwiftUI 视图、编程定位窗口、用户关注点追踪、onHover 和 onContinuousHover 动作、自定义沉浸式环境纹理、视频格式转换、RealityKit 照明和材料自定义等方面。介绍了 Apple Vision Pro 的 App Store,Algoriddim 公司为 visionOS 设计的适应无限画布的 App djay,以及 Apple Vision Pro 工程师的常见问题解答。文章还提及了重塑企业应用、提供开发实验室和 App Review 咨询服务,以及 visionOS 的示例应用、SwiftUI 教程和音频性能更新资源。
+
+### 🐎 [AnyView ’ s impact on SwiftUI performance](https://martinmitrevski.com/2024/01/02/anyviews-impact-on-swiftui-performance/)
+
+[@东坡肘子](https://github.com/fatbobman):本文探讨了在 SwiftUI 中使用 AnyView 对性能可能造成的影响。AnyView 作为一种类型擦除视图,使得开发者无需明确指定视图层次结构中各个视图的具体类型,从而简化了代码的复杂度,避免了泛型的频繁使用。然而,这种方便性可能以牺牲性能为代价。
+
+作者 Martin Mitrevski 通过精心设计的测试代码,直观地展示了 AnyView 在 SwiftUI 中所造成的性能影响。文章特别指出,在包含大量子视图的滚动列表等场景中,应谨慎使用 AnyView,以避免不必要的性能下降。
+
+> 介绍摘自 [Fatbobman's Swift Weekly](https://fatbobman.substack.com/p/fatbobmans-swift-weekly-014),推荐订阅!
+
+### 🐎 [闲话 APPLE 的 APP REVIEW 趣事](https://sketchk.xyz/posts/secret-of-app-review-team)
+[@Smallfly](https://github.com/iostalks):这篇文章探讨了一些 iOS App Review Team 内部的运作机制,展示了 App 常见的拒审原因,并为审核申述提供了一些思路,推荐给提交 App Store 审核遇到问题的开发者阅读。
+
+### 🐎 [std:: versus ::std::](https://mp.weixin.qq.com/s/QwhBdUZbmGFiUP_ssomXUQ)
+
+[@老驴](https://weibo.com/u/6090610445):最近一段时间原生鸿蒙开发的热度在升温,而开发原生鸿蒙主要用 C++,而 C++ 这么多年下来也一直热度不减。C++ 开发中,作用域这个概念一直对新手不是很友好,尤其是怎么理解在什么情况下用哪种作用域。这篇文章就可以很好的帮你理解作用域这个概念。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#277-2024.01.29.md b/Reports/2024/#277-2024.01.29.md
new file mode 100644
index 000000000..ecd07970d
--- /dev/null
+++ b/Reports/2024/#277-2024.01.29.md
@@ -0,0 +1,59 @@
+# 老司机 iOS 周报 #277 | 2024-01-29
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Update on apps distributed in the European Union](https://developer.apple.com/support/dma-and-apps-in-the-eu/)
+
+[@老驴](https://weibo.com/u/6090610445):iOS 17.4 beta 上周上线了,其中最大的变化是因为欧盟 DMA 政策,苹果在欧盟再次做出重大让步,做出了 “违背祖宗” 的决定。 具体来说,有几个重大变化:
+
+1. 第三方应用商店:在欧盟,苹果将允许 App 通过第三方商店进行分发.
+2. Webkit 外的浏览器内核:长期以来,苹果限制 iOS 上的第三方浏览器必须使用 Webkit 内核,从 17.4 开始,这会在欧盟成为过去式。
+3. NFC API 和支付的开放:欧盟开发者有更多的 NFC 相关的 API,包括很多人期待的模拟 NFC 卡。
+4. App Store 多种支付方式:App Store 将不再限制支付方式.
+
+这里面其实有很多改变是很多人一直期盼但是却一直不得的。这些改变将让 iOS 在欧盟成为更开放的移动操作系统。当然,仅限欧盟,目前还不知道其他地区的用户是不是可以模拟成欧盟用户,但是按照传统,应该不容易。
+
+PS:工信部是不是该出手了?!
+
+### [Apple introduces new options worldwide for streaming game services and apps that provide access to mini apps and games](https://developer.apple.com/news/?id=f1v8pyay)
+
+苹果放开了对于串流 APP 的限制,利好 Xbox Cloud Gaming / Nvidia GeForce NOW 上架单独的串流 APP ;同时苹果对于 mini-games / mini-apps / chatbots 类型的应用开放 iAP 内购渠道,相较之前的态度还是略有放宽,也可能是顺应 GPT Shore 的潮流。
+
+同时苹果为开发者准备了 50 多个新的的可视化图表以及分析报告,可以查看 用户的参与度,下载销售相关的收益,安装卸载程序时的附加信息等。同时这些信息预计在 3 月上线,届时还可以通过 API 向第三方授权这些分析报告。
+
+## 文章
+
+### 🐎 [A new access modifier in Swift: package](https://blog.eidinger.info/a-new-access-modifier-in-swift-package)
+
+[@AidenRao](https://weibo.com/AidenRao):在 Swift 5.9 中,苹果引入了一个新的访问级别:package,在软件包内的模块之间共享代码,同时不将该代码分享给软件包外部。目前 package 只支持源代码构建的软件包,对于二进制框架有望在未来支持。
+
+### 🐢 [Exploring object file formats](https://maskray.me/blog/2024-01-14-exploring-object-file-formats)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章的主要内容是关于目标文件格式的探讨。作者从自己在 LLVM 项目中的经历出发,深入研究了 lld 和二进制实用程序,并在此过程中对目标文件格式产生了浓厚的兴趣。文章介绍了目标文件格式的核心组件,如符号、节和重定位,并回顾了几种主要目标文件格式的历史和演变。通过了解不同格式的特点和限制,可以更好地理解它们在软件开发和部署中的作用。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#278-2024.02.26.md b/Reports/2024/#278-2024.02.26.md
new file mode 100644
index 000000000..a28a8822e
--- /dev/null
+++ b/Reports/2024/#278-2024.02.26.md
@@ -0,0 +1,86 @@
+# 老司机 iOS 周报 #278 | 2024-02-26
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [App Store Connect upload requirement starts April 29](https://developer.apple.com/news/?id=fxu2qp7b)
+
+预计在 4 月 29 日,App Store Connect 就将限制必须使用 >= Xcode 15.0 进行提交,并支持最新的系统。还未升级的同学们需要尽快切换并进行适配啦。
+
+### 🐢 [Flutter 3.19.0 系列更新](https://mp.weixin.qq.com/s/JRdT4vJutvNZ66uqqjYEPg)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 国内新年假期期间 Flutter 团队发布了 2024 一季度的更新:Flutter 3.19.0 ;按照惯例随着一起发布的还有 Dart 3.3 ;此次更新除了功能迭代、性能调优、工具优化之外,有几个点值得开发同学们着重关注:
+
+- Gemini Dart SDK: 可以更方便地让 Dart 开发人员在 App 里集成 LLM 的 AI 能力
+- Impeller Android Preview: 意味着 Flutter 彻底抛弃 Skia 的进程迈出了很大一步
+- 弃用 Window 7 & 8,弃用 iOS 11 以前的版本
+- Dart 对于 JS interoperably 支持增强
+- Dart Macros 支持
+
+其他相关博文:
+- [Flutter 3.19.0 ReleaseNote](https://medium.com/flutter/whats-new-in-flutter-3-19-58b1aae242d2)
+- [Dart 3.3](https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247491174&idx=2&sn=b6c236e48e2f5d0032387293f7e90bb6&chksm=cec64803f9b1c1159f6d720883df2ff202ab52cb8820682a65bc4ce6aba1a9488f33f18fae61&cur_album_id=1968809591672979459&scene=189#wechat_redirect)
+- [2024 Impeller:快速了解 Flutter 的渲染引擎的优势](https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247491190&idx=1&sn=dcb726e2ace120fb2285e82a5befb007&chksm=cfbf4d3126192986e2bb5255ee55f4b5fff1a3e2949b15321b3ea264929aedec30dc76fda824&scene=132&exptype=timeline_recommend_article_extendread_samebiz&show_related_article=1&subscene=189&scene=132#wechat_redirect)
+- [Flutter 2024 路线规划](https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247491174&idx=1&sn=5ceb5e8fce90f11dc051a9305d4ed109&chksm=cec64803f9b1c1154cd1a684a34d03e0189e9e85bbdf8f67983ea3940c4ecf8dd062de1347ac&cur_album_id=1968809591672979459&scene=189#wechat_redirect)
+- [Dart 宏(Macros)编程开始支持](https://mp.weixin.qq.com/s/WoamljZJeNN9huMdIb_Ycw)
+
+## 文章
+
+### 🐕 [通过 Headphone Motion 访问 AirPods 的头部跟踪数据](https://github.com/LLLLLayer/Headphone-Motion)
+
+[@EyreFree](https://github.com/EyreFree):本文介绍了如何利用 Core Motion 框架访问 AirPods 的头部跟踪数据。介绍了在 iOS 应用中如何设置和获取用户授权,以及如何通过 CMHeadphoneMotionManager 类开始和停止设备运动数据更新,接收头部跟踪数据,并通过 CMDeviceMotion 类解析这些数据,最后说明了如何处理连接和断开耳机的事件。并且提供了完整 Demo 工程,推荐感兴趣的同学阅读。
+
+### 🐕 [On-device ML research with MLX and Swift](https://www.swift.org/blog/mlx-swift/)
+
+[@JonyFang](https://github.com/JonyFang): Swift 编程语言因其易用性和高性能,配合 MLX 库,为 Apple 芯片上的机器学习研究提供了强大支持。MLX Swift 将 MLX 扩展到了 Swift 语言,简化了机器学习在 Apple 芯片上进行实验的复杂度,并提供了相应的 Swift API、高级的神经网络和优化器包,以及文本生成和 MNIST 训练的示例。所有这些都在 MIT 许可下发布,旨在利用 Swift 的高性能和易用性,为机器学习研究者提供一个友好的实验框架。文中提供了文档和示例,API 覆盖的能力可以具体看下文档,感兴趣可以研究下 Examples ~
+
+### 🐕 [Code Injection with Dyld Interposing](https://www.emergetools.com/blog/posts/DyldInterposing)
+
+[@Cooper Chen](https://github.com/cjlcooper):众所周知 Objective-C 运行时的动态性可用于多种用途,例如我们熟知的 Method swizzling,然而 Method Swizzling 不能用于 C/C++ 函数的交换,这对于需要在 C/C++ 下进行逆向的时候并不能如人所愿,本篇文章介绍如何使用 dyld 动态绑定的特性进行插入方法,从而达到对 C/C++ 语言进行替换绑定的目的,同时也建议与 Fishhook 进行异同点比较来达到最佳的阅读体验。
+
+### 🐎 [The SwiftUI Field Guide](https://www.swiftuifieldguide.com)
+
+[@zoeGuo](https://github.com/zoeGuo):这个网站直观地解释了 SwiftUI 布局系统的工作原理。可以通过改变属性或参数数值动态看到布局上的变化,更有利于理解 SwiftUI 参数、属性的含义。 网站目前更新了 [Alignment](https://www.swiftuifieldguide.com/layout/alignment)、[HStack](https://www.swiftuifieldguide.com/layout/hstack)、[Aspect Ratio](https://www.swiftuifieldguide.com/layout/aspect-ratio) 和 [Padding](https://www.swiftuifieldguide.com/layout/padding) 四个模块,推荐给正在学习 SwiftUI 的读者。
+
+### 🐕 [云音乐 RN 新架构升级之 iOS 灰度方案](https://mp.weixin.qq.com/s/jZ3wfbFf2xey8aTK16MU4A)
+
+[@Smallfly](https://github.com/iostalks):文章主要介绍了网易云音乐在升级 React Native(RN)架构时,iOS 侧采用的灰度方案。阐述了实现渐进式升级的思路和挑战,包括静态链接和动态链接两种方案的优缺点,以及他们最终采用的双动态库方案。这个方案通过引入一个中间层(NEReactNative)来解决静态链接过程中的符号引用问题,并在运行时动态加载新旧版本的 RN 代码。
+
+文章适合对 React Native 架构升级、iOS 灰度发布策略、以及 Objective-C 运行时特性感兴趣的资深 iOS 开发者阅读。
+
+## 代码
+
+### [armhf-swift-toolchain](https://github.com/CmST0us/armhf-swift-toolchain)
+
+[@kemchenj](https://kemchenj.github.ion/):
+1. 可以学习如何使用源码编译 Swift
+2. 学习如何使用 SPM 进行交叉编译
+3. 对嵌入式 32 位 Linux 平台,可以使用 Swift 编码。例如作者已在 fpga 上运行 Swift [Run Swift On Zynq petalinux](https://forums.swift.org/t/introducing-my-armhf-swift-5-9-toolchiain/69524/2)
+
+由:[CmST0us](https://github.com/CmST0us) 自荐
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#279-2024.03.04.md b/Reports/2024/#279-2024.03.04.md
new file mode 100644
index 000000000..abfd325f2
--- /dev/null
+++ b/Reports/2024/#279-2024.03.04.md
@@ -0,0 +1,64 @@
+# 老司机 iOS 周报 #279 | 2024-03-04
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### [How to make a completionHandler much safer ](https://www.swiftwithvincent.com/blog/how-to-make-a-completionhandler-much-safer)
+
+[@zoeGuo](https://github.com/zoeGuo):我们经常会用 completionHandler 来处理异步事件,但是很难保证所有逻辑下都能执行到 completionHandler 的逻辑。那么在 Swift 语法中可以使用 defer 关键字,defer 可以确保 completionHandler 在方法返回之前一定被调用,编译器会检查在每个可能的代码路径中都能顺利执行到 completionHandler。原文有更详细的代码示例说明,还有视频讲解。
+
+## 文章
+
+### 🐕 [从入门到精通:如何解决 C++ 模板代码膨胀问题](https://mp.weixin.qq.com/s/aRqKGoVNcf8yzRhIHbmoBA)
+
+[@老峰](https://github.com/gesantung):C++ 模板是一种强大的编程工具,它允许我们编写通用的、可重用的代码,本文介绍了通过模板函数提取通用部分;模板类抽象出通用部分到基类,合理使用模版等优化策略提高编译速度,减少二进制文件大小解决代码膨胀问题。
+
+### 🐎 [Swift 6.0 Release Process](https://forums.swift.org/t/swift-6-0-release-process/70220)
+
+[@AidenRao](https://weibo.com/AidenRao):Swift 社区公布了 Swift 6 的发布流程及预期时间表。2024 年 3 月 15 日,将从 Swift 主分支中切出 release/6.0 分支开启发布流程,正式版本预计将于今年下半年与新版 Xcode 同步发布。
+
+### 🐎 [ImGui 在长桥跨端图表组件中的探索与应用](https://mp.weixin.qq.com/s/-_NLEbonjEl1F2kyA0yx_A)
+
+[@Smallfly](https://github.com/iostalks):长桥技术团队在 iOS App 中升级 K 线图表组件,面临业务复杂度高、两端重复开发等问题。在对比各种成熟跨端方案之后,他们选择了 ImGui 作为跨平台解决方案,利用其 GPU 渲染和简单 API 实现高性能图表。它使用各平台支持最好的渲染框架,有着完善的图表绘制能力,即使加载大量数据,在多个平台上依然有流畅体验。
+
+### 🐢 [天美引擎工程师:如何使用移动端硬件特性提升游戏上限?](https://zhuanlan.zhihu.com/p/587988966)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):在 Unreal Open Day 2022 上,腾讯天美工作室的引擎工程师王烁分享了如何使用移动端硬件特性提升游戏渲染效果。他提出,利用硬件特性如 VRS(可变着色率渲染)等可以有效解决移动端渲染中的常见问题。将渲染分为应用图形学算法、渲染管线、图形 API 层和 GPU 驱动层四层,并强调了了解这些层级对于手游开发的重要性。了解硬件特性如 Vulkan 中的 VRS 和 Hidden-surface removal 等可以帮助开发者针对目标机型选择适当的特性,从而提升游戏渲染效果。通过利用这些硬件特性,游戏开发者可以在保证游戏性能的同时,提高游戏画面质量,从而提升游戏体验。王烁的分享为游戏开发者提供了一种新的思路和方法,对于提升游戏上限具有重要的指导意义。
+
+### 🐕 [try catch 失效排查 - 探索异常处理机制的迷雾](https://mp.weixin.qq.com/s/MK26EcuVS2GFOjocgvvetA)
+
+[@xuyafei86](https://github.com/xiaofei86):C++ 异常处理机制 try catch 在快手 App 内突然失效,引发大量未捕获异常导致的崩溃。本文介绍稳定性团队排查此次问题的过程,问题的根本原因以及修复规避方案,最后梳理异常处理流程,知其然,知其所以然,方能在问题出现时冷静应对。感兴趣同学可以阅读原文了解。
+
+### 🐕 [How the Swift compiler knows that DispatchQueue.main implies @MainActor](https://oleb.net/2024/dispatchqueue-mainactor)
+
+[@Barney](https://github.com/BarneyZhaoooo):文章讨论了 Swift 编译器如何识别 DispatchQueue.main 为 `@MainActor`,这是通过检查源代码实现的。当使用 DispatchQueue.main.async 时,系统会自动将其视为 `@MainActor`,这使得在主线程上执行并发任务变得方便。然而,这种行为并未在 Xcode 等 IDE 中明确显示出来,作者希望能直观显示 `@MainActor` 和相关并发信息,以便更好地理解和学习 Swift。
+
+### 🐎 [ARM 汇编系列](https://www.lyldalek.top/6cd918093215420e8e980db08e9a8ba0)
+
+[@Crazy](https://github.com/jiyan135960):汇编是客户端开发人员很少接触的一个方面,一般在 Android 开发人员也只有 ndk 开发者会接触到,汇编看似无用,但却是性能优化最底层的核心,了解汇编是程序员非必备,但是很需要的技能。本次推荐的博客是一个系列,在这个汇编中文博客很少的当下,这个系列可以说是很好的解决了大家入门困难的问题。本系列从环境搭建开始,到各种指令的介绍,把汇编基础用图片加代码整合起来,简单明了的讲解给大家,有需要汇编入门的同学可以仔细学习。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#280-2024.03.11.md b/Reports/2024/#280-2024.03.11.md
new file mode 100644
index 000000000..87c66c82c
--- /dev/null
+++ b/Reports/2024/#280-2024.03.11.md
@@ -0,0 +1,101 @@
+# 老司机 iOS 周报 #280 | 2024-03-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Privacy updates for App Store submissions](https://developer.apple.com/news/?id=3d8a9yyh)
+
+[Privacy manifests and signatures](https://developer.apple.com/support/third-party-SDK-requirements/) 的 deadline 来了,5 月 1 日。目前大部分知名第三方库都已经完成了适配,例如:[SDWebImage](https://github.com/SDWebImage/SDWebImage/blob/master/SDWebImage/Resources/PrivacyInfo.xcprivacy)、[FMDB](https://github.com/ccgus/fmdb/blob/master/privacy/PrivacyInfo.xcprivacy)、[Protobuf](https://github.com/protocolbuffers/protobuf/blob/main/PrivacyInfo.xcprivacy)、[SnapKit](https://github.com/SnapKit/SnapKit/blob/develop/Sources/PrivacyInfo.xcprivacy) 等,但也有部分如:MBProgressHU、Starscream 等年久失修可能得自己处理下。
+
+## Developer - 设计开发加速器
+
+### [Apple Vision Pro 开发者实验室 与 探索《人机界面指南》](https://developer.apple.com/events/view/upcoming-events?q=Shanghai)
+
+上海的 Vision Pro 的开发实验室即将迎来多场活动,[3 月 27 日](https://developer.apple.com/events/view/U56UR4S32Y/dashboard) 与 [4 月 24 日](https://developer.apple.com/events/view/H44MV68G45/dashboard) 的线下实验室,以及 4 月 10 日的 [1 on 1 线上咨询](https://developer.apple.com/events/view/NLYY4Q2N6Y/dashboard)。
+
+4 月 2 日还有[探索《人机界面指南》](https://developer.apple.com/events/view/5758Q34VL9/dashboard) 的活动。
+
+还没有亲自体验过 Vision Pro 的开发者千万不要错过本次活动。
+
+## 新手推荐
+
+### [The power of inout parameters](https://danielsaidi.com/blog/2024/02/18/the-power-of-inout-parameters)
+
+[@zoeGuo](https://github.com/zoeGuo):Swift 函数参数是常量,这意味着不能在函数内部修改入参的值。将参数标记为 inout 实际是将入参值引用,从而实现在函数内更改其值。文中举例了富文本 context 跟随 textView 的各属性值变化的例子说明使用 inout 参数可以减少重复表意的代码、使代码更简洁。
+
+## 文章
+
+### 🐕 [Why Ollie is moving away from SwiftUI to UIKit](https://medium.com/goodones/why-ollie-is-moving-away-from-swiftui-to-uikit-cfdefe918d1c)
+
+[@JonyFang](https://github.com/JonyFang): 本文描述了该团队在 SwiftUI 应用过程中经历了一系列关于 SwiftUI 和 Swift 并发的问题,最终决定从 SwiftUI 迁移到 UIKit。他们指出 SwiftUI 的抽象和不确定性给开发带来了更多的开发成本,在处理复杂的业务逻辑和多线程时问题更为明显。SwiftUI 的"魔法"和 AttributeGraph 的不确定表现让 debug 变得困难。开发过程中 Swift 并发的死锁问题也让开发者头疼,而其异步执行的顺序问题使得调试变得复杂。
+
+作者强调了 SwiftUI 可能正在经历第二系统效应(second-system effect),第二系统效应可能造成软件专案计划过度设计,产生太多变数,过度复杂,无法达成期待,并因而失败。他们解释了在使用 SwiftUI 和 Swift 并发时的一些错误实践,包括对 MVVM 和对 SwiftUI 内部属性的误用。他们还提到了对 Combine 的迁移以及将重型操作移到显式调度队列的决策。
+
+为了解决问题,团队决定迁移到 UIKit,并举例说明了一个使用 UIKitCollectionView 的案例在性能上远远超过 SwiftUI 版本。
+
+### 🐕 [How to determine where tasks and async functions run in Swift?](https://www.donnywals.com/how-to-determine-where-tasks-and-async-functions-run-in-swift/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文解释了 Swift `Task` 和异步函数的运行规则,以及它们和 GCD 心智规则的不同之处。作者首先介绍了不同的 `Task` 类型 - 分离 Task 和非结构化 Task,其次重点解释了 Swift 对于不同 Task 的调度规则。
+
+如果上下文被 `@MainActor` 或其他全局 `Actor` 关联或隔离,则创建的非结构化 `Task` 会在对应 `Actor` 的 `executor` 中执行,否则会被调度到默认的全局 `executor` 中执行。
+
+注意某些协议也可能携带 `@MainActor` 约束以及我们可以在测试代码中使用 `MainActor.assertIsolated(_:)` 来进行运行时的 `@MainActor` 隔离检查。
+
+
+### [C++ 常见避坑指南](https://mp.weixin.qq.com/s/ivmOl-qGALnHEVbwKANiug)
+
+[@莲叔](https://github.com/aaaron7):腾讯是大厂中 C++ 使用度最高的公司,很长一段时间几乎所有的后端服务都是用 C++ 开发完成的。本篇文章介绍与总结了 C++ 在大规模工程开发中最常见的问题,非常有价值。新手使用 C++ 往往很容易被淹没在无数的语言细节里,同样的逻辑也会有多种写法,这个时候如果有一个身经百战的前辈出来给你划重点,那练级效率必然会事半功倍。这篇文章就给我这样的感觉,推荐给需要在工作中使用 C++ 的技术同学阅读。
+
+
+### 🐎 [Everything you need to know about Swift 5.10](https://www.donnywals.com/everything-you-need-to-know-about-swift-5-10/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):伴随着 iOS 17.4 和 iPadOS 17.4 的发布,Apple 推出了 Swift 5.10,这一版本在并发性方面取得了显著的进步。Swift 5.10 主要针对 Swift Concurrency 的数据安全功能进行了改进,特别是在严格并发检查方面。通过增强并发检查,Swift 5.10 现在能够更准确地识别并标记出不安全的代码,从而帮助开发者在编写并发代码时避免数据竞争和其他线程安全问题。Swift 5.10 还引入了 SE-0412 提案,该提案限制了全局变量的并发访问,进一步提高了 Swift 在编译时防范数据争用的能力。这意味着开发者在编写涉及共享状态的代码时,需要更加明确地考虑其并发安全性。
+
+
+### 🐢 [The power of self-sufficient features](https://www.swiftindepth.com/articles/self-sufficient-features/)
+
+[@享耳先森](https://github.com/iblacksun):一个功能最好是相对独立,尽量减少对外部的依赖,本文介绍了 `self-sufficient features` 的几个原则:
+1. 自身加载必须的数据,而不靠外部传入
+2. 内部处理各种错误,而不向外传递
+3. 不要依赖或修改堆栈
+
+### 🐕 [How to use VariadicView, SwiftUI's Private View API ](https://www.emergetools.com/blog/posts/how-to-use-variadic-view)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文介绍了 SwiftUI 中私有视图 API 称为 VariadicView,,通过枚举 _VariadicView 是这个类的入口,它包括其他类型,例如_VariadicView_MultiViewRoot 和_VariadicView. tree 等等,文章介绍了如何使用 VariadicView 以及其安全性,对于 SwiftUI 相关开发有不错的实用性。
+
+### 🐕 [High Performance Swift Apps](https://jacobbartlett.substack.com/p/high-performance-swift-apps)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者从自己的 App 入手,详细讲述了如何着手优化 App 的性能,其中包含了问题分析、Instruments 的简单使用说明以及最终的代码实践,非常适合新人入门。其中作者的一个观点也是非常令人赞同:应该先找到问题,聚焦在真正的瓶颈上,避免在琐碎的点上投入太多精力。
+
+## 代码
+
+### 🐢 [ConcurrencyRecipes](https://github.com/mattmassicotte/ConcurrencyRecipes)
+
+[@AidenRao](https://weibo.com/AidenRao):作者表示 Swift Concurrency 很难用,所以整理和记录了一些使用 Swift Concurrency 遇到的问题和解决方案,并欢迎大家一起共建。
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#281-2024.03.18.md b/Reports/2024/#281-2024.03.18.md
new file mode 100644
index 000000000..320d782d1
--- /dev/null
+++ b/Reports/2024/#281-2024.03.18.md
@@ -0,0 +1,69 @@
+# 老司机 iOS 周报 #281 | 2024-03-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [Swift Predicate: 用法、构成及注意事项](https://fatbobman.com/zh/posts/swift-predicate-usage-composition-and-considerations/)
+
+[@JonyFang](https://github.com/JonyFang): 文章详细介绍了如何有效利用 Swift Predicate,包括谓词的构建技巧、全局函数和实例方法的限制、支持创建多种泛型参数的谓词、线程安全和序列化等。通过具体代码示例,展示了 Swift Predicate 在不同场景下的应用,如如何处理可选值、实现线程安全的数据处理等,同时对比了 NSPredicate 与 Swift Predicate 的不同之处,强调了 Swift Predicate 在 Swift 开发中的好处和优势。
+
+### 🐎 [Third-party libraries acknowledgments using a Settings bundle](https://www.avanderlee.com/workflow/third-party-libraries-acknowledgments-swift-packages/)
+
+[@Damien](https://github.com/ZengyiMa): 三方库可以帮助开发者更快地构建应用,但通常会包含开源协议 License,如 MIT License 等,本篇文章介绍了如何在你的应用中添加三方库致谢和开源协议的展示信息,而不需要花费太多的工作,作者介绍了一个开源项目:swift-package-list,并且提供了一键集成脚本,推荐各位 iOS 开发者也集成致谢模块,这将会让您的 App 更加合规。
+
+### 🐕 [What you should know about visionOS volumes before using them in an app](https://www.lunarskydiving.com/blog/volume-limitations/)
+
+[@EyreFree](https://github.com/EyreFree):这篇文章讨论了 visionOS 中使用 volumes 时的一些限制。作者列出了 15 个问题,包括 volumes 创建后无法改变大小,最大尺寸限制为 2 立方米,以及受用户 Window Zoom 设置的影响而改变大小。还提到了 volumes 的初始位置无法设置,手势追踪和射线投射功能不支持,且 volumes 可能无法与系统控件或评分提示交互。文章建议,如果这些限制影响到应用设计,开发者可以考虑使用 immersive space。感兴趣的朋友可以看一下。
+
+### 🐕 [Debug for visionOS using Xcode simulator visualizations](https://www.createwithswift.com/debug-visionos-using-xcode-simulator-visualizations/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章讲解了如何通过使用 Xcode 的 visionOS 模拟器中的六种主要调试模式(锚定、轴向、边界、碰撞形状、遮挡网格和表面模式)进行应用开发。这些模式有助于完成空间定位、理解定向、增强空间认知、事件检测、实现虚实交互以及精确实体定位。文章还指出了额外资源,以便于更好地运行和交互应用。掌握这些调试模式对于开发出富有交互性的空间计算应用并充分利用诸如 Apple Vision Pro 等设备至关重要。
+
+### 🐢 [Modding Plugins back into Xcode](https://bryce.co/xcode-plugin-loader/)
+
+[@享耳先森](https://github.com/iblacksun):因 macOS 安全机制升级导致 Xcode 老的插件体系被废弃,本文写了与此相关的一些 Xcode 插件背景知识,以及提供了一些 ` 黑魔法 ` 让新版 Xcode 也可以加载老的插件,如果对 Xcode 插件开发敢兴趣,建议阅读。
+
+### 🐎 [If you ’ ve created a visionOS app with a volume, you probably did it wrong](https://www.lunarskydiving.com/blog/volume-window-zoom/)
+
+[@Smallfly](https://github.com/iostalks):文章讨论了 visionOS 应用开发中的 volume 内容剪裁问题,指出 Apple 官方示例代码在用户更改 Window Zoom 设置时可能导致异常。Apple 工程师说是符合预期的,并提出使用 GeometryReader3D 来动态调整内容以适应 volume 大小的解决方案,文档中未充分说明这一点请开发者关注。
+
+### 🐎 [Vision Pro Connectivity](https://buttondown.email/varrall/archive/vision-pro-connectivity/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章探讨了如何通过连接多个设备,特别是 iPhone 和 Apple Watch,来增强使用苹果 Vision Pro 的体验,以及如何利用 Multipeer Connectivity 和 Watch Connectivity 框架实现这一目标。作者同时还讨论了一些可能的应用场景,例如使用苹果铅笔进行更精确的输入、利用 Apple Watch 上的触觉反馈来反映 Vision Pro 上的操作,以及设计需要多个设备协同合作的游戏等。
+
+### 🐎 [Shattered Glass: Customizing Windows in visionOS](https://blog.overdesigned.net/posts/2024-02-29-visionos-window-basics/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了如何在 visionOS 的开发中自定义视图的样式,详细讲述了几种视图常用的 modifier,每种样式都有给出相关的图片示例,简单易懂。
+
+### 🐎 [`__inline__` 是否会改变 local static variable 的行为?](https://juejin.cn/post/7345692979075039247)
+
+[@kemchenj](https://kemchenj.github.io):本文介绍了为什么不能将 `__inline__` 的作用理解为宏展开:
+
+- `__inline__` 并不会改变局部 `static` 变量原本的行为,因为编译器将最终决定是否进行 inline ,编译器自然应该抹平区别。当然你如果还添加了 `__attribute__((always_inline))` 就一定会内联。
+- 尽量不要在 .h 中声明 `static` 函数(包括 `NS_INLINE` 函数),除非你很清楚你在做什么。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#282-2024.03.25.md b/Reports/2024/#282-2024.03.25.md
new file mode 100644
index 000000000..c1c73f5b7
--- /dev/null
+++ b/Reports/2024/#282-2024.03.25.md
@@ -0,0 +1,77 @@
+# 老司机 iOS 周报 #282 | 2024-03-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+[Cocoapods 之版本号问题](https://mp.weixin.qq.com/s/ghSD_wbfRuYse64m9TmBKw)
+
+[@zoeGuo](https://github.com/zoeGuo):文章是一篇关于 Cocoapods 版本号使用的一个建议:要注意使用标准化的版本号,不要在主干分支使用 prerelease 版本号。原因是 Podfile 中强指定一个库的版本号,如果是一个 prerelease 版本号,最终依赖的不一定是这个版本,这其中的不确定性便来于 Cocoapods 底层对 prerelease 版本的处理策略。文中解释了 Cocoapods 如何判断 Source 里面的版本是否满足依赖要求的,可以配合[语义化版本号规范](https://semver.org/)一起阅读。
+
+## 文章
+
+### 🌟🐕 [Apple 也在用的 Benchmark 框架](https://www.swift.org/blog/benchmarks/)
+
+[@kemchenj](https://kemchenj.github.io/):这篇文章介绍了一个专为 Swift 编写的 Benchmark 包,除了支持追踪常用的 CPU 时间和内存占用情况,还支持了 ARC 相关的数据,swift-foundation 之类的 Apple 官方开源项目也都在使用。
+
+另外 [Benchmark 的文档](https://swiftpackageindex.com/ordo-one/package-benchmark/1.22.4/documentation/benchmark/gettingstarted)也写得非常好,手把手教你生成 baseline,生成可视化图表,甚至连 GitHub CI 的 workflow 都教你怎么写,直接评论到 PR 上看对比结果。
+
+### 🐢 [A Gentle Introduction to LLVM IR](https://mcyoung.xyz/2023/08/01/llvm-ir/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文由浅入深地介绍了 LLVM IR 的一些基本常识和概念,并给出了相关例子。
+
+- % 和 @ 的在 LLVM IR 中的含义
+- LLVM IR 的类型表示
+- CFG 和不可达优化等
+
+了解 LLVM IR 的主要用途是,在进行性能优化时,介于源代码和汇编代码之间的 LLVM IR 可能会是更方便的选择。
+
+### 🐎 [Swift Tooling: Windows Edition](https://speakinginswift.substack.com/p/swift-tooling-windows-edition)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了 Arc 公司所推动 Swift on Windows 的最新进展和一些他们的开发体验分享
+
+- 🔨 开发环境 : VSCode 是 Swift on Windows 上的首选开发环境。
+- ✍️ 代码编辑 : VSCode IDE 目前已提供了代码补全、导航和错误显示功能等功能。
+- 🧪 构建和测试 : 支持通过 Swift Package Manager 和 CMake 进行构建和测试。
+- 🐛 调试能力 : LLDB 调试和命令行调试目前都已支持。
+
+### 🐢 [Nerdy internals of an Apple text editor ](https://papereditor.app/internals) & [ 9 years of Apple text editor solo dev](https://papereditor.app/dev)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):作者作为一位全栈 Web 开发者,出于对 Mac 上独特应用程序生态系统的热爱,踏上了制作 Mac 原生文本编辑器的旅程。经过两年的努力,成功推出了名为 Paper 的 Mac 应用程序,随后又将其扩展到了 iOS 平台。作者尤其注重用户体验和应用程序的稳定性,因此选择了开发本土应用,充分利用了 Xcode、AppKit 和 Objective-C 等技术的优势。
+
+正是作者的坚持和追求,使得 Paper 文本编辑器得以诞生并逐渐完善。而当我们深入了解 Paper 背后的工程细节时,不禁为作者的专业素养和技术实力所折服。Paper 的核心组件 TextView,通过 NSTextStorage、NSTextContainer 和 NSLayoutManager 等旗舰类的协同工作,实现了流畅而高效的文本编辑体验。这些技术细节不仅展示了作者的精湛技艺,更是他对用户体验极致追求的体现。
+
+### 🐕 [lsregister: How Files Are Handled in Mac OS X](https://krypted.com/mac-security/lsregister-associating-file-types-in-mac-os-x/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章主要讲述了如何使用 lsregister 命令管理 Mac OS X 中的 Launch Services 数据库,这个数据库决定了文件的默认打开方式。文章详细介绍了如何查询、导出、强制重新注册文件类型、取消应用程序的注册等操作,以及如何关闭文件类型默认被隔离的功能。同时,文章也指出了清理和重建大规模数据库的方法,以及如何指定某应用打开特定文件类型或网络协议。
+
+### 🐕 [Sending trial notifications with provisional authorization on iOSX](https://nilcoalescing.com/blog/TrialNotificationsWithProvisionalAuthorizationOnIOS/)
+
+[@享耳先森](https://github.com/iblacksun):Push 是很好的吸引用户注意的方式,但难点是如何获取用户的授权,本文介绍了 `provisional notifications` 这一通知机制。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[杭州] 淘宝 - Meta 技术团队 - iOS 工程师 / Vision Pro 工程师 (校招)
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#283-2024.04.01.md b/Reports/2024/#283-2024.04.01.md
new file mode 100644
index 000000000..5d8b61604
--- /dev/null
+++ b/Reports/2024/#283-2024.04.01.md
@@ -0,0 +1,69 @@
+# 老司机 iOS 周报 #283 | 2024-04-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又来新人啦~**
+
+欢迎 [DylanYang](https://github.com/Dylan19Yang) 加入老司机技术,目前就职于字节跳动,参与音乐相关客户端开发,业余喜欢看看番、打打游戏。
+
+欢迎 [Kyle-Ye](https://github.com/Kyle-Ye) 加入老司机技术,他是 Swift Documentation Workgroup 成员,独立开发者,专注于 OpenSwiftUI / Swift 相关研究。
+
+**希望 DylanYang 与 Kyle-Ye 的加入也能为大家带来更多元化的内容输出!**
+
+## 文章
+
+### 🐎 [A better pull request](https://blog.developer.atlassian.com/a-better-pull-request/)
+
+[@Smallfly](https://github.com/iostalks):在使用 Git 时,执行 `git diff master...alice/master`,「三个点」查看当前分支与远端分支的差异,清楚的了解将要拉取的内容,然而当远端分支有提交时,新的提交无法在 diff 中显示,这么设计有其合理性。本文作者认为不太方便,在 Bitbucket 中使用「两个点」展示与最新分支的 diff 会更清晰。对实现感兴趣的同学可阅读原文了解。
+
+### 🐎 [SwiftUI Previews-based architecture](https://blog.thomasdurand.fr/story/2024-03-15-preview-based-architecture/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者通过一个简单的 demo 阐述了如何实现基于 SwiftUI Previews 框架的开发流程。同时作者也借此引入了他认为实现代码灵活性和解耦的两个工具:接口(Interface)和依赖注入(Dependency Injection),并在 demo 中进行了实践。接口在 Swift 中以原生的 Protocol 呈现而依赖注入则可以凭借 SwiftUI 中的环境变量(Environment Values)来实现。此外借助 `@Observable`、`ObservableObject` 和环境变量等能力,整个框架在渲染性能、内存和数据同步方面都非常优秀。
+
+### 🐕 [Using a Swift macro to generate an EnvironmentKey](https://www.swiftwithvincent.com/blog/using-a-swift-macro-to-generate-an-environmentkey)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章介绍了如何使用名为 `@EnvironmentStorage` 的 Swift 宏来简化 SwiftUI 中 Environment 的使用,自动生成 EnvironmentKey 和相关的 EnvironmentValues 代码,减少样板代码,提高开发效率。通过引入 SwiftUIMacros 包并应用该宏,开发者只需定义属性名、类型和默认值即可快速创建环境存储,从而节省时间并减少错误。
+
+### 🐕 [Be Careful When You Initialize a State Object](https://jaredsinclair.com/2024/03/14/state-object-autoclosure.html)
+
+[@AidenRao](https://weibo.com/AidenRao):在这篇文章中,Jared Sinclair 谈到了在使用 @StateObject 时需要注意的一些最佳实践:如果你必须显式地初始化 @StateObject,请密切注意属性包装器的初始化参数是一个名为 thunk 的转义闭包,而不是一个名为 wrappedValue 的对象。请在闭包内部完成所有封装对象的初始化和预处理,否则就会损害性能优势,而性能优势很可能正是你使用 @StateObject 的初衷。
+
+### 🐕 [Unrestricted View Replication](https://bryce.co/replicating-views/)
+
+[@JonyFang](https://github.com/JonyFang): 本文讨论了在 iOS 应用中单 UIView 实例多副本场景的处理。首先介绍了使用私有 API `_UIPortalView` 来实现复制视图的方法,但指出这不符合苹果的规定,因此需要寻找其他解决方案。
+
+接下来,引出 `CAReplicatorLayer` 来实现复制视图的方法。`CAReplicatorLayer` 可以创建多个视图的副本,并对每个副本应用递归变换。文中也讨论了使用嵌套的 `CAReplicatorLayer` 来创建复杂布局的方法,但指出这种方法会导致视图复制的复杂性和性能问题。
+最后,提到了 `CAReplicatorLayer` 的 `instanceDelay` 属性,该属性可以在复制的视图实例之间创建动画延迟。
+
+### 🐎 [How to run asynchronous code in Swift Playground correctly?](https://antran.app/2024/swift_playground_async_execution/)
+
+[@zoeGuo](https://github.com/zoeGuo):Swift Playground 是快速试验 Swift 代码的绝佳工具。默认情况下,Swift Playground 从程序的顶部到底部同步执行代码。当运行异步代码时,会遇到代码执行不会结束的问题。引入 `PlaygroundSupport` 库,配合使用 `needsIndefiniteExecution`、`finishExecution()` 两个 API,即可在 Swift Playground 中编写异步代码并顺利执行,文中例举了在 Swift Playground 中使用 dispatchGroup 完成异步逻辑的操作。
+
+### 🐎 [Make Your iOS App Smaller with Dynamic Frameworks](https://www.emergetools.com/blog/posts/make-your-ios-app-smaller-with-dynamic-frameworks)
+
+[@Leo](https://github.com/LeoMobileDeveloper):iOS 的 Widget 和 ShareExtension 是独立的 target,sandbox 和主 App 是独立的,如果多个独立的 Target 采用静态链接的方式来构建,那么某些基础库的的代码和资源会被在多个 Target 之间拷贝多份。本文提出了一种解决多 Target 之间共享代码和资源的方式,即用 Dynamic Framework,可以显著优化包大小。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#284-2024.04.08.md b/Reports/2024/#284-2024.04.08.md
new file mode 100644
index 000000000..5693b1a4f
--- /dev/null
+++ b/Reports/2024/#284-2024.04.08.md
@@ -0,0 +1,71 @@
+# 老司机 iOS 周报 #284 | 2024-04-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [Generate and read analytics reports from the App Store Connect API](https://www.polpiella.dev/analytics-reports-api-app-store-connect)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了苹果公司最近推出的 50 多种新的分析报告,这些报告包括应用商店参与度、应用商店商务、应用使用情况、框架使用情况和性能等方面的数据。虽然这些新数据提供了很多洞察力,非常有价值,但它们仅通过 App Store Connect API 独家提供,而且获取数据的方式并不直观。文章中介绍了如何使用 App Store Connect Swift SDK 来访问这些新的指标。如果对该方式感兴趣,值得一读。
+
+### 🐕 [Swift Isolation Intuition](https://www.massicotte.org/isolation-intuition)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文详细介绍了 Swift 并发框架中的隔离(Isolation)概念,作者通过一系列的例子阐述了如何判断当前代码上下文的隔离状态。关于隔离,作者总结了三条规律:
+1. 隔离状态是在方法、数据结构、变量等声明时就确定的
+2. 隔离状态只会被 async 改变
+3. protocal 也可以声明隔离状态
+
+同时应当牢记隔离状态是一个编译时的声明,运行时的状态并不重要,即使一段代码在运行时只会跑在主线程上也不代表它是一段主线程隔离(MainActor-isolated)的代码。
+
+本文在书写过程中假设读者已经对 swift 并发的基础概念(Actor、Task 等)有了一些了解,建议未接触过 Swift 并发的读者可以简单了解下这几个概念后再阅读此文。
+
+### 🐢 [Near real-time UI code generation on iPad](https://otaku.codes/uni/dissertation/dissertation.pdf)
+
+[@BluesJiang](https://github.com/BluesJiang): 本论文展示了如何利用 YOLO 模型实现从草图到 SwiftUI 代码的流程。详细说明了从数据收集处理、模型训练以及利用 CoreML 实现单机完成部署投放。这里利用 iPad 强大的绘画、机器学习、SwiftPlayground 的能力,可以充分的展示这种可能性。具体展示的效果可以查看 [Demo 视频](https://www.youtube.com/watch?v=SKGdZ3H9eyY)。这篇论文很好的展示了机器学习实践的完整流程,值得学习。
+
+### [理解 C++ 的六种 Memory Order](https://lancern.xyz/2021/07/07/cpp-memory-order/)
+
+[@老驴](https://weibo.com/u/6090610445):本文详细介绍了 C++11 中引入的六种内存顺序(memory order)的概念,目的是解决多线程环境下的数据一致性和可见性问题。内存顺序包括:
+
+Relaxed:不保证顺序性的最宽松内存顺序。
+Consume:保证读操作能看到数据依赖的写操作。
+Acquire:确保读操作可以看到在相应 release 操作之前的所有写操作。
+Release:确保写操作之前的所有操作对其他线程可见。
+Acquire-Release:同时包含 acquire 和 release 语义。
+Sequential Consistent:所有线程看到一致顺序操作的最严格内存顺序。
+
+想要了解 C++ 内存的话,值得一读。
+
+### 🐕 [Using @_silgen_name to forward declare functions in Swift and improve build times](https://swiftrocks.com/using-silgenname-to-call-private-swift-code)
+
+[@Cooper Chen](https://github.com/cjlcooper):文章介绍了使用 `@_silgen_name` 属性在 Swift 中前向声明函数以及改善构建时间的方法。作者强调了谨慎使用这一技巧的重要性,并解释了其工作原理和潜在风险。通过示例和技术细节,文章展示了如何使用该属性来提高 Swift 应用程序的构建效率,尽管牺牲了一些类型安全性。最后,作者呼吁 Swift 支持更多类似的功能,以满足开发者对更多控制和灵活性的需求。这对于需要提升 Swfift 编译速度相关内容的开发者有一定的参考价值。
+
+### 🐕 [lldb remove randomness](https://bryce.co/lldb-remove-randomness/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章介绍了如何使用 LLDB 调试器去除调试第三方应用时的随机性。通过一个示例程序,演示了生成随机数据并打印出来的过程。文章重点在于展示如何通过设置 LLDB 断点和特定命令,强制 randomData 函数返回固定长度和内容的数据,从而消除随机性。作者分步骤说明了如何先返回固定大小的数据,然后是动态大小但固定数据,最终是动态大小且看似随机但实际一致的数据。这一技巧在需要调试包含随机元素的程序时非常有用,能够提高调试的效率和准确性。
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#285-2024.04.15.md b/Reports/2024/#285-2024.04.15.md
new file mode 100644
index 000000000..4770d0098
--- /dev/null
+++ b/Reports/2024/#285-2024.04.15.md
@@ -0,0 +1,77 @@
+# 老司机 iOS 周报 #285 | 2024-04-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [iOS 17.4/17.4.1 新安装的用户首次启动 IDFA 权限获取失败,以及 workaround](https://forums.developer.apple.com/forums/thread/746432?answerId=784610022#784610022)
+
+首次新安装 APP 的用户会在通过 ``ATTrackingManager.requestTrackingAuthorization()`` 申请 IDFA 的时候自动失败(即使用户还没有手动点击拒绝),这会对依赖 IDFA 归因或者正在投放的 APP 造成一定影响,论坛也已经有同学给出 workaround(通过 IDFA 弹窗在关闭时会触发 ``UIApplication.didBecomeActiveNotification`` 进行再次判断)。
+
+## 文章
+
+### 🌟 🐕 [五年沉淀,微信全平台终端数据库 WCDB 迎来重大升级!](https://mp.weixin.qq.com/s/RWCqLD0M_WGCrCcz0oQIcQ)
+
+[@JonyFang](https://github.com/JonyFang):在接口层面,新版 WCDB 全面支持了 C++、Java、Kotlin、Swift 和 ObjC 这五种主要的终端开发语言,覆盖了 Android、iOS、Windows 、macOS 和 Linux 这五大终端平台。同时,还对 Winq 进行了重写和强化,使开发者能够在各种语言中使用原生语法编写任意 SQL。
+
+在功能层面,新版 WCDB 推出了全新的数据备份和修复方案,大幅提升了数据修复率,同时将数据备份的性能消耗降至可忽略不计。此外,还重点推出了数据迁移和数据压缩这两个新功能,让开发者仅通过简单的配置,就能高效处理复杂业务中的数据过度聚集和数据过度膨胀这两大难题。新版 WCDB 还推出了 FTS5 优化和可中断事务等新特性,使开发者在特定场景下可以实现更极致的性能优化。
+
+### 🐕 [How to avoid using AnyView in SwiftUI](https://tanaschita.com/swiftui-how-to-avoid-using-anyview/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章讨论了在 SwiftUI 中避免使用 AnyView 的方法。AnyView 是一种类型擦除视图,用于包装其他 SwiftUI 视图,但它会降低 SwiftUI 的性能。文章提出了三种替代方案:
+1. 使用 @ViewBuilder 属性:通过在属性或函数上添加 @ViewBuilder 属性,可以将多个视图组合成单个返回类型,而无需使用 AnyView。
+2. 使用 Group 类型:Group 类型允许将多个视图组合成一个视图,而不会影响布局。使用 Group 可以避免使用 AnyView,并可以根据需要组合不同类型的视图。
+3. 使用泛型:当需要存储不确定类型的视图时,可以使用泛型来代替 AnyView。通过使用泛型参数,可以灵活地存储和使用视图,而无需使用 AnyView。
+
+### 🐕 [In Search of a Smooth Scroll](https://byla.lt/posts/in-search-of-smooth-scroll/)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):本文记录了作者由于对更平滑滚动的追求而将 LazyVGrid 替换为 NSTableView 的过程,可以见到结果是 NSTableView 确实会有更丝滑的效果,不过作者并不是希望大家认为 SwiftUI 很慢而 AppKit 很快,或者 macOS 上的 SwiftUI 还没有为重要的应用程序做好准备,事实上作者重写过程中 SwiftUI 已经解决了部分问题。最后作者聊了对 AppKit 的非官方见解和反思,也希望大家对两种技术都有着同样的热爱。
+
+### 🐎 [Exploring ABI stability, @frozen, and library evolution mode](https://digitalbunker.dev/understanding-frozen-in-swift/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者通过 `@frozen` 关键字,引申出 Swift 的 ABI 稳定和 library evolution mode。其中 `@frozen` 关键字确保了 `enums` 和 `structs` 的接口不再改变,因此也保证了内存布局的固定,带来了更好的性能。ABI 稳定则使得面得不同的语言版本,swift 库不再需要每次重新编译就可以兼容高版本。而 library evolution mode 是一个编译器能力,开启它后使得编译器会产出额外的用于描述关于库的数据结构、方法等的元数据,确保在不同的语言版本下,这些数据依然保持一致。这三者共同确保了 Swift 库在不同语言版本、不同操作系统版本下的兼容性,并最终带来了更好的的开发体验。
+
+## 工具
+
+### 🐕 [Mac OS X Debugging Magic](https://web.archive.org/web/20101206131250/http://developer.apple.com/library/mac/#technotes/tn2004/tn2124.html)
+
+[@Cooper Chen](https://github.com/cjlcooper):在 MacOS 开发中,Apple 提供了许多调试工具,以协助开发者针对特定场景进行开发和调试。这些工具中的许多被保留在发布的系统中,供开发者使用以调试其代码。下面列举了一些在 Mac OS X 中的“秘密”调试工具,包括环境变量、首选项、可从 GDB 调用的例程以及特殊文件等。若你正致力于 Mac OS X 软件开发,这个调试工具集合列表将极具帮助。
+
+
+## 代码
+
+### 🐕 COW Macro Package
+
+[@Kyle-Ye](https://github.com/Kyle-Ye):Swift 的大量标准库内的 struct 出于性能等因素考虑都进行了 Copy On Write(后简称 COW)优化(如 String、Array、Set、Dictionary),但是对于业务自定义的 struct 默认没有此类优化。
+
+因此如果业务定义了一个巨大的 struct,在此 struct 作为参数传递过程中,容易产生较大的包大小并且有一定性能影响。
+
+对于每个希望开启 COW 的 struct 进行手写优化较为繁琐,下面是本期推荐的两个相关 COW Macro 的开源库,可以帮助我们快速 opt-in 此项优化。
+
+- https://github.com/wezzard/COWMacro
+- https://github.com/Swift-CowBox/Swift-CowBox
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#286-2024.04.22.md b/Reports/2024/#286-2024.04.22.md
new file mode 100644
index 000000000..546bbfdad
--- /dev/null
+++ b/Reports/2024/#286-2024.04.22.md
@@ -0,0 +1,72 @@
+# 老司机 iOS 周报 #286 | 2024-04-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐕 [Xcode Bookmarks](https://useyourloaf.com/blog/xcode-bookmarks/)
+
+[@Barney](https://github.com/BarneyZhaoooo):Xcode 15 引入了一种新的代码注释和搜索查询书签功能,用户可以通过选择代码行并使用上下文菜单来创建书签,还可以对书签添加描述、分组和标记完成状态,以及保存搜索查询。这项新功能提高了代码注释和搜索结果的管理效率。
+
+## 文章
+
+### 🐎 [How to define a custom file header for a Swift Package](https://danielsaidi.com/blog/2024/03/21/how-to-define-a-custom-file-header-for-a-swift-package)
+
+[@zoeGuo](https://github.com/zoeGuo):开发过程中代码的文件头可以包含一些必要信息,Xcode 一般会为我们生成默认的文件头,想要自定义文件头,应该怎么做呢?文章描述了如何为 Swift 包定义一个自定义的文件头,在本地 ` /.swiftpm/xcode/package.xcworkspace/xcshareddata` 目录下添加一个 `IDETemplateMacros.plist` 文件即可,文中例举了 IDETemplateMacros 文件写法。
+
+ ### 🐕 [Actor reentrancy in Swift explained](https://www.donnywals.com/actor-reentrancy-in-swift-explained/)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文深入解析了 Swift 中的 actor 重入性,这是管理 actor 内并发任务的关键概念。虽然 actor 确保单线程执行,但异步函数带来的挑战在于它们不总是 atomic 地执行。作者通过示例,说明了同时从本地和远程源读取数据可能导致意外结果的原因,而解决方案涉及管理任务以防止冗余网络调用。作者重点提及了在 actor 的异步方法中考虑重入性以避免错误的重要性,因此理解和解决重入性相关问题对于有效地管理并发至关重要,同时作者强调需要谨慎考虑并采用个性化的解决方案来处理重入性问题。
+
+### 🐎 [Splitting Up a Monolith: From 1 to 25 Swift Packages](https://ryanashcraft.com/splitting-up-a-monolithic-swift-package/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章分享了作者如何将一个大型 Swift 包重构为 25 个较小的包。这个过程中,他解决了对 iCloud 的依赖、代码共享的复杂性、SwiftUI 预览和编译时间问题。通过创建抽象层和依赖注入,成功解耦了核心模型和 CloudKit。
+
+重构后,他将包分为纯可重用和特定于 Foodnoms 的两类,提高了代码的模块化和可测试性。虽然面临日志记录的挑战和应用包大小增加,但整体性能提升,SwiftUI 预览也变得更实用。重构思路具有一定的借鉴意义。
+
+ ### 🐕 [Fetching OSLog Messages in Swift](https://useyourloaf.com/blog/fetching-oslog-messages-in-swift/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章介绍了如何在 iOS 应用程序中使用 OSLog 框架实时检索日志。文章通过导入 OSLog 框架和创建 Logger 对象来开始,并说明了如何在应用的不同区域生成日志。关键部分涉及使用 OSLogStore 以及如何设置起始位置和使用 NSPredicate 进行日志过滤,以提高性能。文章还讨论了使用 OSLogStore 时遇到的一些限制,如检索速度慢,并推荐了 Apple 的 SwiftLog 作为替代方案。最后,提供了一个展示日志的 SwiftUI 视图示例,说明了如何异步获取并显示日志。
+
+
+### 🐎 [Bar Chart creation using Swift Charts](https://www.avanderlee.com/swift-charts/bar-chart-creation-using-swift-charts/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了 Swift Charts 的一些基础用法, Swift Charts 能够帮助开发者更便捷的呈现图表数据。作者以 Xcode 的编译数据作为示例,展现了如何通过 Swift Charts 构建一个柱状图,并能够调整柱状图的展示范围。同时通过 `foregroundStyle`、`chartForegroundStyleScale` 等 modifier, 我们也能轻松的对柱状图进行分组、改变柱状图颜色等操作。
+
+
+### 🐕 [QQ 9 “傻快傻快”背后的技术秘密](https://mp.weixin.qq.com/s/nVXE0iSllZ3rFei4t7bR7g)
+
+ [@JonyFang](https://github.com/JonyFang):本篇介绍了 QQ 9 丝滑背后的技术实现,从启动速度,页面刷新,差异算法,预加载和回收,异步布局和渲染等方面介绍了手 Q 在性能方面做的全流程优化,并介绍了几个用户体验提升的场景表现。每一项优化点深入后内容相对复杂,都可以单独拎出来展开说明,文中也提到后续会慢慢分享出来。
+
+
+## 工具
+
+### 🐎 [Mac App 原生内置 Debug 菜单](https://mjtsai.com/blog/2024/03/22/_eventfirstresponderchaindescription/#comment-4059578)
+
+[@BluesJiang](https://github.com/BluesJiang):这个是开发 Mac App 的隐藏 Debug 菜单。使用 `UserDefaults.standard.setValue(true, forKey: "_NS_4445425547")` 开启。
+开启后会在菜单栏里出现一个 🐞 菜单。这个菜单不依赖 Xcode,跟随 App 启动而启动。它提供了很多方便的辅助,比如 Responder 打印、View Bounds 展示、改变 Appearance 等。推荐尝试。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#287-2024.04.29.md b/Reports/2024/#287-2024.04.29.md
new file mode 100644
index 000000000..383844fa8
--- /dev/null
+++ b/Reports/2024/#287-2024.04.29.md
@@ -0,0 +1,64 @@
+# 老司机 iOS 周报 #287 | 2024-04-29
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+
+## 文章
+
+### 🐕 [RxSwift 6 更新了什么](https://juejin.cn/post/7345687862530113546)
+
+[@zoeGuo](https://github.com/zoeGuo):这是一篇 [What's new in RxSwift 6 ?
+](https://dev.to/freak4pc/what-s-new-in-rxswift-6-2nog) 的译文,文章介绍了 RxSwift 6 的新特性和重要更新,如将 `Binder` 从 RxCocoa 迁移到 RxSwift、使用 `@dynamicMemberLookup` 自动建立 Binders、新的 `withUnretained` 运算符,以及一些运算符重命名
+等。无论你是 RxSwift 的新手还是老手,这篇文章都能提供给你大量有价值的信息,帮助你更好地利用 RxSwift 提升开发效率。
+
+
+### 🐕 [SwiftUI: Custom View Transition(Navigation) With Matched Geometry](https://blog.stackademic.com/swiftui-custom-view-transition-nav-with-matched-geometry-032552356fc5)
+
+[@Damien](https://github.com/ZengyiMa):文章主要讨论了如何在 SwiftUI 中使用 matchedGeometryEffect 来自定义视图转换。例如,如何动画化文本的位置,如何以不同的方式动画化多个视图,如何创建一个放大效果等等动画。文章还详细介绍了如何在视图上使用 matchedGeometryEffect 来替换当前的 NavigationStack,这篇文章为那些希望在 SwiftUI 中自定义视图转换的开发者提供了一种新的可能性。
+
+### 🐕 [Swift 6 upgrade Preparation](https://medium.com/jamf-engineering/swift-6-upgrade-preparation-0941fbea2db6)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 文章介绍了如何在 Xcode Project 项目和 Swift Package Manager 项目中如何逐步采用 Swift 6 模式的部分功能,以便为即将到来的 Swift 6 做好准备。除此之外,本文也介绍并讨论了如何处理一些常见的迁移问题,如 Actor 相关的各种报错。
+
+完整的 Swift Features 清单可以通过以下 Gist 中提供的脚本获取:
+
+- https://gist.github.com/ole/478874632fca61869928a0cc0a956972#file-swift-list-features-sh
+
+## 工具
+
+### 🐎 [Periphery](https://github.com/peripheryapp/periphery)
+[@Smallfly](https://github.com/iostalks):Periphery 一款专门用于识别 Swift 项目中未使用代码的工具。通过分析项目的源代码,帮助开发者发现并删除那些在项目中没有被引用的代码部分,从而精简代码库,提高代码的可维护性。
+
+### 🐕 [Copilot For Xcode](https://github.com/intitni/CopilotForXcode)
+
+[@Cooper Chen](https://github.com/cjlcooper):Copilot for Xcode 是一个 Xcode 源代码编辑器扩展,为 Xcode 提供 GitHub Copilot、Codeium 和 ChatGPT 支持,包括以下功能:
+- 代码建议(由 GitHub Copilot 和 Codeium 提供支持)。
+- 聊天(由 OpenAI ChatGPT 提供支持)。
+- 提示代码(由 OpenAI ChatGPT 提供支持)。
+- 自定义命令将聊天和提示扩展为代码。
+建议开发者都可以尝试使用这个拓展工具,能够大大提高工作效率。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#288-2024.05.13.md b/Reports/2024/#288-2024.05.13.md
new file mode 100644
index 000000000..bde234474
--- /dev/null
+++ b/Reports/2024/#288-2024.05.13.md
@@ -0,0 +1,89 @@
+# 老司机 iOS 周报 #288 | 2024-05-13
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [AppStore Connect 提交失败 Workaround](https://github.com/SwiftOldDriver/iOS-Weekly/issues/4537)
+
+上周陆续有读者在老司机的 App Review 群中反馈提交审核时遇到了奇怪的问题,也有群友提供了解决方案,我们再次汇总如下:
+
+1. 当遇到 **2.0.0 二进制文件无效** 的问题,可以等待一会,换一个小版本号重新上传,可以解决。
+2. 当遇到 **无法添加以供审核** 的问题,需要在 ICP 备案的输入框中在正常输入备案号后,再额外增加一个空格。即可进行后续流程。
+
+
+
+
+
+## 新手推荐
+
+### 🌟 [戴铭的 Swift 小册子](https://github.com/ming1016/SwiftPamphletApp)
+
+[@AidenRao](https://weibo.com/AidenRao): 小册子是一个使用 Swift、按照声明式 UI 和响应式编程范式开发的开源 macOS 程序,上面的内容主要面向 Swift 零基础的同学,包括 Swift 的知识点、直接可用的小例子和知识点相关的其它资料,推荐 Swift 新手及感兴趣的同学学习使用。
+
+### [Safely unwrap optional values in SwiftUI bindings](https://www.polpiella.dev/safely-unwrap-optional-value-in-swiftui-binding/)
+
+[@zoeGuo](https://github.com/zoeGuo):在 SwiftUI 中 , `$` 符号用于创建一个绑定到可观察对象的引用。但一个可选对象用 `$` 后得到的是一个不可选的对象。那么在这种场景下可以使用 `Binding` 将对象包装,`Binding` 的初始化方法 `init?(_ base: Binding)` 会解包绑定的可选值,并提供一个非可选值,这样就又可以对原来的可选值进行安全解包了。文章中有简洁明了的代码示例,感兴趣的读者可以阅读原文。
+
+## 文章
+
+### 🐎 [iOS 依赖库版本一致性检测:确保应用兼容性](https://juejin.cn/post/7358011504967925812)
+
+[@BluesJiang](https://github.com/BluesJiang):本篇主要介绍了一种检测系统库最低版本依赖的方法。核心的思路使用 `otool` 获取依赖的系统库,然后调用苹果的接口来查询系统库支持的最低系统版本。用来解决 App 意外错误引入高于 App 最低支持系统版本的系统库,导致 App 启动崩溃的问题。
+
+### 🐎 [淘系两年半 A/B 实验经历,聊聊我理解的“科学实验”](https://mp.weixin.qq.com/s/-durED9M0UMqhT0i2S67lQ)
+
+[@Smallfly](https://github.com/iostalks):这篇文章主要讲述了作者在淘系两年半的 A/B 实验经历,包括在货架电商和内容电商两个领域的 A/B 实验能力建设。文章中,作者分享了对科学实验的理解和实践,文章中提到了几个关键点:
+1. **业务目标科学**:增长目标应该是长期健康、可量化验证的。
+2. **实验设计科学**:在常规实验中,样本组的同质性和样本间的独立性是重要的考虑因素。
+3. **实验数据可用**:强调了 AA 检验的重要性,以确保实验数据的可用性。
+4. **实验分析科学**:在获得可用的数据基础上,关注实验分析的问题,包括确定需要观察的指标和维度,以及如何处理低响应实验。
+
+### 🐎 [彻底弄懂 Linux 下的文件描述符(fd)](https://yushuaige.github.io/2020/08/14/%E5%BD%BB%E5%BA%95%E5%BC%84%E6%87%82%20Linux%20%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6%EF%BC%88fd%EF%BC%89/#1%E3%80%81%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%9C%80%E5%B8%B8%E8%A7%81%E7%9A%84%E4%BE%8B%E5%AD%90%E8%AF%B4%E8%B5%B7/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了 Linux 下的文件描述符(file descriptor)。文件描述符是内核对已经被打开文件所创建的索引。内核维护了一张进程级别的文件描述符表,记录了每个文件描述符对应的文件指针,使得对这些文件进行 I/O 操作的系统调用都可以通过文件描述符来实现。同时系统还维护着系统级别的打开文件表和 i-node 表,这两张表内有关于打开文件更多的信息,包括偏移量、访问模式、权限等。文件描述符表指向打开文件表,打开文件表则又指向了 i-node 表。此外,本文也举例了通过 shell、C 语言、python 等方式打开文件后,文件描述符的实际表现。
+
+### 🐎 [OS Style settings view](https://paulpeelen.com/SettingsView)
+
+[@水水](https://xuyanlan.com/categories/iOS/):如果您正苦恼于不知道怎么给 MacOS 应用添加一个符合 MacOS 风格的设置页面,那么本文给出了简单的代码示例教您如何去实现,敢兴趣的读者可以参考 ~
+
+### 🐎 [Flutter 之 HTTP3/QUIC 和 Cronet 你了解过吗?](https://mp.weixin.qq.com/s/InAzeSa-2YeV2oo6gnykhg)
+
+[@极速男孩](https://github.com/ztlyyznf001/):本文介绍了 HTTP/3 和 QUIC 协议及其在 Flutter 中的应用,特别是通过 Cronet 库。HTTP/3 基于 QUIC 实现,优化了网络连接的稳定性和效率,支持连接迁移和加密。Cronet 作为 Chromium 的网络堆栈,支持 QUIC 和 TCP,可通过 Flutter 使用,增强移动应用的网络性能。文章还讨论了如何在 Flutter 项目中通过 cronet_http 包和 Dio 库集成 Cronet,利用其在 Android 上的优势,以及 iOS 上用 NativeAdapter 的来支持 HTTP/3。
+
+## 播客
+
+### 🐢 [SWIFT PACKAGE INDEXING EPISODE 43: Now I ’ m worried our metrics aren ’ t correct! with special guest Holly Borla](https://share.transistor.fm/s/2d4b1ba7)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本期 SwiftPackageIndex 播客和特邀嘉宾苹果的 Swift 语言团队的负责人 Holly Borla 讨论了 Swift 6 的并发特性和语言模式迁移,Swift Package Index 中的 Swift 6 兼容性跟踪项目。同时介绍了一些与并发相关的提案(SE414 和 SE431)和 Swift 软件包。
+
+## 工具
+
+### [difftastic](https://difftastic.wilfred.me.uk/)
+
+[@Crazy](https://github.com/jiyan135960):difftastic 是一款专门针对文件对比的工具,这个工具不是简单的逐行对比,会根据语言以及运行环境进行分析,提供更便于阅读对比界面。该工具现在支持多种语言,移动端开发所用的 Swift、Java、Kotlin、Dart 都已经支持。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#289-2024.05.20.md b/Reports/2024/#289-2024.05.20.md
new file mode 100644
index 000000000..c92dab321
--- /dev/null
+++ b/Reports/2024/#289-2024.05.20.md
@@ -0,0 +1,74 @@
+# 老司机 iOS 周报 #289 | 2024-05-20
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+有很多朋友最近在后台留言询问 WWDC 24 内参的相关事宜,今年的内参老司机技术会继续主办,还请大家放心,我们会在合适的时间邀请大家共同参与今年的内参创作!
+
+## 文章
+
+### 🐕 [SE-0436: Objective-C implementations in Swift](https://forums.swift.org/t/se-0436-objective-c-implementations-in-swift/71712)
+
+[@kemchenj](https://kemchenj.github.io/):Swift 团队最近提出了提案 SE-0436,可以用 Swift 来实现 Objective-C 的 Category/Extension,并且让调用者对此毫无感知,就像是 Objective-C 实现的那样,但这个功能的必要性在哪?
+
+1. **对于大型混编项目来说,Swift 生成的 Header 会严重拖慢增量编译的速度**,这一点在 [#242 期的 抖音 Swift 编译优化 - 基于自定义 Toolchain 编译提速 60%](https://github.com/SwiftOldDriver/iOS-Weekly/blob/61670ff7475638f2476c9d302cf39d3c9bd86be1/Reports/2023/%23242-2023.04.24.md?plain=1#L28C4-L28C4) 里有详细的说明,如果是通过这个功能去实现的话,就可以绕开这个问题
+2. **Swift 自动生成的 Header 文件可读性很差**,对于习惯了将 Header 文件作为文档阅读的 Objective-C 工程师来说是灾难般的存在
+3. **可以给 Swift 提供更 Swifty 的接口**,WebKit 早在这个提案之前就[用上了这个功能](https://github.com/WebKit/WebKit/blob/4de0f4880b7b12b8f995bfbe480b41503219ab67/Source/WebKit/WebKitSwift/LinearMediaKit/LinearMediaPlayer.swift#L134),给 `WKSLinearMediaPlayer` 加上了 `var isLoadingPublisher: AnyPublisher` 等接口,试想一下如果底层使用的是 Objective-C 实现的话,那这样 Swifty 的接口可能就很难实现了
+
+### 🐕 [【 Just For Fun 】 C - 宏开发 - 选取第 n 项参数、按照参数数目展开不同的宏、缺陷](https://zhuanlan.zhihu.com/p/61152480)
+
+[@Barney](https://github.com/BarneyZhaoooo~):这个系列文章深入探讨了 C 语言宏的高级应用,从可变参数函数的基础用法,到宏定义中参数的选择和计数,再到延迟展开技术,逐步展示了宏在 C 语言中的灵活性和强大能力。文章通过具体示例,详细解释了如何构建能够根据参数数量动态展开的宏,以及如何利用延迟展开来优化宏的行为。这些技巧不仅增强了对 C 语言宏机制的理解,也为宏编程提供了新的视角和解决方案。
+
+### 🐢 [每个程序员都应该了解的硬件知识](https://mp.weixin.qq.com/s/Ol9J1ZWevHSjP2ZIyidK-g)
+
+[@xuyafei86](https://github.com/xiaofei86):在追求高效代码的路上,我们不可避免地会遇到代码的性能瓶颈。为了了解、解释一段代码为什么低效,并尝试改进低效的代码,我们总是要了解硬件的工作原理。于是,我们可能会尝试搜索有关某个架构的介绍、一些优化指南或者阅读一些计算机科学的教科书(如:计算机组成原理)。但以上的内容可能都太过繁琐、细节太多,在阅读的过程中,我们可能会迷失在纷繁的细节中,没法很好地将知识运用到实践中。本文旨在通过多个可运行的 benchmark 介绍常见的优化细节以及与之相关的硬件知识,为读者建立一个简单、有效的硬件心智模型。
+
+### 🐎 [存储空间终于算“对”了](https://mp.weixin.qq.com/s/_2dzH99T1r70tYSH8z_0Ow)
+
+[@Smallfly](https://github.com/iostalks):这篇文章分析了 iOS 系统中 App 显示存储空间与系统显示不一致的问题,并探讨了造成差异的四个主要原因:App 自身大小、进制差异、口径差异和统计路径差异。文章通过实验验证了 iOS 存储空间的显示口径,并介绍了快手 App 如何通过技术改进实现与系统显示对齐,增强了用户体验和信任。
+
+### 🐎 [Flutter 3.22 发布,快来看看有什么更新吧?](https://mp.weixin.qq.com/s/wvas9YoP6WQgubmVp9hPUQ)
+
+[@Crazy](https://github.com/jiyan135960):本篇文章主要介绍了 Flutter 3.22 中更新的一些主要功能与性能优化。JsonCodable 因该是所有 Flutter 开发者比较期待的一个功能了,Json 的序列化问题一直都是 Flutter 的大麻烦,需要借助 build_runner 生成 Dart 代码来解决。有了 JsonCodable 以后会大大加速 Flutter 开发者的开发效率。本次 Flutter 更新还将 Vulkan backend 和 Wasm Native 两个功能实现了落地,让 Web 的渲染速度得到了巨大的提升。剩下更多的更新可以在文章中浏览。
+
+## 代码
+
+### 🌟 🐎 [时隔五年,IGListKit 迎来 5.0.0 版本更新](https://github.com/Instagram/IGListKit/releases/tag/5.0.0)
+
+[@zvving](https://github.com/zvving/):时隔五年,Instagram 团队隆重推出了 IGListKit 的 5.0.0 版本(4.0.0 版本的发布时间还是 2019 年 11 月)。这个新版本整合了近年来 Instagram 对 IGListKit 进行的所有增强,引入了后台 diffing 功能,对 scrollToObject: 方法进行了改进,增加了对 Mac Catalyst 的支持,并提供了 IGListAdapter 等更丰富的属性观察与状态回调方式。此外,还对性能进行了优化,并修复了安全性和细节问题,同时带来了一些 Breaking Changes。
+
+考虑到这个版本在多年后带来的众多改进和优化,我们强烈推荐已经使用 IGListKit 的团队关注并尝试更新,以期获得更出色的性能、稳定性和新功能。
+
+### 🐎 [SwiftSecurity: Modern Swift framework for Keychain API](https://github.com/dm-zharov/swift-security)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):SwiftSecurity 是 Apple 安全框架的现代 Swift API (Keychain API、SharedWebCredentials API 等)。通过编译时检查,以更简单的方式保护您的应用程序管理的数据。SwiftSecurity 与其他包装器有些不同,它支持每个钥匙串项目类别,与 CryptoKit 和 SwiftUI 兼容等。
+
+## 音视频
+
+### 🐢 [The Sound of Software](https://www.notboring.software/words/the-sound-of-software)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 顾名思义,本系列文章讲述如何在软件中使用声音,从声音的本质开始阐述,到工具推荐,到整体设计,一连串文章一步步带你创造酷炫的声响;该系列由 [notboring](https://www.notboring.software/) 产出;[notboring](https://www.notboring.software/) 崇尚酷炫的交互和极致的影音体验 , 他们在 App Store 上有诸多酷炫的应用 , 有声音软件开发的同学 , 强烈推荐学习 !
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#290-2024.05.27.md b/Reports/2024/#290-2024.05.27.md
new file mode 100644
index 000000000..664b56c5e
--- /dev/null
+++ b/Reports/2024/#290-2024.05.27.md
@@ -0,0 +1,102 @@
+# 老司机 iOS 周报 #290 | 2024-05-27
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Incorrect bundle purchase payments: Fixed!](https://lapcatsoftware.com/articles/2024/5/2.html)
+
+作者 5 月初发现苹果从 24 年 2 月起,对于应用内包含了 [App 套装销售(Offering app bundles)](https://developer.apple.com/cn/app-store/app-bundles/) 的 App ,会少给予开发者一份原本 App 的购买费用,即:错误地从 App 套装销售 的购买收益中两次减去了之前购买的应用程序的价格。
+
+在作者提交了反馈后,苹果回电问题已被发现,所有受影响的开发者将得到对应损失的补偿。
+
+## 文章
+
+### 🐢 [探讨跨平台技术与跨平台 UI 框架及 Kotlin Multiplatform 在 bilibili 的实践](https://mp.weixin.qq.com/s/b8_s1iboJMEdEvyMd59u-g)
+
+[@JonyFang](https://github.com/JonyFang): 本文以相对客观的事实数据比对了目前移动领域的多个跨平台语言的横评,也相对主观的针对当前的大环境下的一些跨平台技术的思考及 B 站的选型做了一些解读。希望可以为读者开阔思路,也希望如果能拉拢到同样观点的大佬们共同一起反哺基于 Kotlin 跨平台的生态的建设。从而做到社区全局收益。后续 B 站会持续继续输出关于 KMP 技术的技术及实践的深度文章,也会持续关注跨平台技术的发展,希望能够在这个领域有更多的交流。
+
+### 🐎 [Is Dynamic Isolation Bad?](https://www.massicotte.org/dynamic-isolation)
+
+[@zoeGuo](https://github.com/zoeGuo):文章讨论了 Swift 并发中的动态隔离与静态隔离的区别和应用。静态隔离通过使用像 `nonisolated`,`isolated`,`actor`, 和 `global actor` 这样的关键字来标记类或代码块,确保它们在编译时就定义好运行环境,是由编译器来处理的隔离。动态隔离使用运行时结构如锁来实现,需要在运行时正确地协调。文中举例用两种方式实现原子性,静态隔离固然安全,但动态隔离灵活便捷,要选择合适的方式解决并发问题。
+
+### 🐕 [Faster Git checkouts on NFS and SSD with parallelism](https://matheustavares.gitlab.io/posts/parallel-checkout)
+
+[@AidenRao](https://weibo.com/AidenRao): 本篇文章主要介绍在大型存储库上使用并行 checkout 功能,此功能可将某些 checkout 操作在 SSD 上的速度提高 3.6 倍,在 NFS 挂载上的速度提高 4.5 倍。且所有使用到 checkout 机制的 git 命令都能收益,包括:clone, reset, switch, restore, merge 等。
+
+
+### 🐕 [计算机系统篇之链接(15):共享库拦截技术之运行时库打桩](https://csstormq.github.io/blog/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E7%AF%87%E4%B9%8B%E9%93%BE%E6%8E%A5%EF%BC%8815%EF%BC%89%EF%BC%9A%E5%85%B1%E4%BA%AB%E5%BA%93%E6%8B%A6%E6%88%AA%E6%8A%80%E6%9C%AF%E4%B9%8B%E8%BF%90%E8%A1%8C%E6%97%B6%E5%BA%93%E6%89%93%E6%A1%A9%EF%BC%88%E4%B8%8A%EF%BC%89)
+
+[@Damien](https://github.com/ZengyiMa): 本文主要讨论了 Linux 系统中的运行时库打桩技术,这是一种允许截获对共享库函数的调用,取而代之执行自己代码的技术。文章详细解释了运行时库打桩的实现原理,以及如何在加载程序时拦截标准库的 API(以 malloc/free 为例)的实现过程。
+
+### [Scaling ChatGPT: Five Real-World Engineering Challenges](https://newsletter.pragmaticengineer.com/p/scaling-chatgpt)
+
+[@老驴](https://weibo.com/u/6090610445):这篇文章是采访了来自 OpenAI 的 Evan Morikawa,讲述了他们在爆炸增长的用户量下,是怎么解决一些难以解决的问题工程问题的。
+
+他主要提到了下面的几点:
+
+1. KV 缓存和 GPU RAM 的管理。
+2. 批处理大小的优化。
+3. 正确的度量指标。
+4. 寻找 GPU 资源。
+5. 缺乏自动扩展的能力。
+
+这些问题在比较早期的公司都比较容易遇到,但是像 OpenAI 这次这么快速爆炸的用户量增长,应该也算是比较少见的了。如果对 OpenAI 感兴趣的同学,建议读一读原文。
+
+## 代码
+
+### [HandVector](https://github.com/XanderXu/HandVector)
+
+[@BluesJiang](https://github.com/BluesJiang):这个是一个在 VisionOS 平台上实现手势识别的开源库。主要是通过 ARKit 拿到手部骨骼节点后,通过余弦相似的算法,来评估手部骨骼节点与目标手势的相似度,以此来支持手势识别。还可以预先录制自己期望的手势作为匹配目标,实现任意手势的识别和匹配。
+本开源库还介绍了一种如何在模拟器中调试手势识别算法的方法,因为官方模拟器并没有提供访问摄像识别手势的能力。方案主要是使用 Google 的 MediaPipes 来代替 Vision Pro 真机上的手势识别能力,然后将数据投入 Swift 代码中进行测试。
+这个也是少有的在 Swift Native 侧开源的基础算法仓库之一,可以提供参考和借鉴。
+
+## 书
+
+### 【 iOS 】 Apple 增强现实(Apple Augmented Reality)「[上卷](https://bytedance.larkoffice.com/docx/doxcnYJ8ZNlDkdguWyuxrT9Vrje)」「[下卷](https://bytedance.larkoffice.com/docx/doxcncDbOnTfHuJDEXpTx3Cwwpb)」
+[@Smallfly](https://github.com/iostalks):这是一本 raywenderlich 出品的 AR 教程,国内的同学翻译。这本书是为初中级 iOS 开发者设计的,旨在帮助读者使用 Swift 构建苹果平台上的沉浸式增强现实(AR)体验。
+
+书中涵盖了以下主题:
+- **Reality Composer & Reality Files**: 学习如何使用 Reality Composer 创建 AR 体验,以及如何使用 Reality Converter 和 USDZ 文件。
+- **RealityKit**: 一个用于构建丰富 AR 体验的框架。
+- **Facial Blend Shapes**: 学习如何使用面部融合形状来创建反应用户面部表情的 AR 面具。
+- **ARKit**: 苹果的 AR 开发框架,用于创建交互式 AR 体验。
+- **Raycasting & Physics**: 学习如何在 AR 应用中使用射线投射和物理引擎。
+- **ECS & Collaborative Experiences**: 探索如何创建多人共享的 AR 体验。
+
+书籍分为多个部分,每个部分都通过项目来教授特定的技能和概念。例如,使用 Reality Composer 创建交互式虚拟鼓套件,使用图像锚点和跟踪创建交互式 AR 商务名片,以及使用 RealityKit 和面部跟踪创建类似 Snapchat 的面部滤镜应用等。
+
+如果你对 AR 开发感兴趣,可以直接访问提供的链接。
+
+### [【 iOS 】并发(Concurrency)](https://bytedance.larkoffice.com/docx/doxcnMYZcL7DvPKuE9IN0iJ4eKh)
+
+[@DylanYang](https://github.com/Dylan19Yang):这是一本 raywenderlich 出品的 iOS 并发(Concurrency)教程,国内的同学翻译。这本书能够帮助 iOS 初学者理解并发的概念,并且快速上手实践。需要注意的是,这本书中讲述的并发是以 GCD(Grand Central Dispatch)实现的,而非最新的 Swift 并发框架(Swift Concurrency),考虑到 GCD 依然是当前的主流,这本书非常值得一读。
+
+书籍分为多个章节,详细解释了并发的概念,以及 GCD 和 Operations 的原理和实际使用的方式。本书使用了诸多的代码示例使读者便于理解,尤其是最后通过 CoreData 的案例展现了并发如何在实际中应用。除此之外,本外也讲述了如何通过 Thread Sanitizer 来分析并发中常见的数据竞争问题。
+
+整体而言,这是一本内容翔实的并发教程,感兴趣的读者可以收藏后反复品读。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#291-2024.06.03.md b/Reports/2024/#291-2024.06.03.md
new file mode 100644
index 000000000..b95b8a4a0
--- /dev/null
+++ b/Reports/2024/#291-2024.06.03.md
@@ -0,0 +1,71 @@
+# 老司机 iOS 周报 #291 | 2024-06-03
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+明天我们就将推送 《WWDC24 内参》的报名信息,希望参与创作的同学不要错过哦~
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐕 [深入理解内存分配](http://djs66256.github.io/2018/04/04/2018-04-04-%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D/)
+
+[@莲叔](https://github.com/aaaron7):内存问题一直是 iOS 平台上最常见的稳定性问题,尤其在以 OC 为主的应用中。我们在排查野指针崩溃的问题时遇到的难点往往是崩溃点和问题点往往不在一起。这篇文章通过分析 iOS 平台内存分配的原理来非常严谨的解释了这个现象的原因,非常值得大家学习。之后作者还提出了一种定制内存分配策略的实现方式,对于精细化的性能分析或者特定应用场景分配优化都是不错的方向。
+
+### 🐕 🌟 [Tricking iOS Into Animating App Icons](https://bryce.co/animated-app-icons/#the-problems)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):如何让你的 APP 图标动起来?这是一个很有意思的事情,文本作者从系统提供的切换 APP 图标 的 API 实现中,一步步通过反编译,解决了弹框提醒、进入后台等问题,实现了 APP 的动态图标。并附带有 Github Demo 实现 [AnimatedAppIcons](https://github.com/bryce-co/AnimatedAppIcons),效果如下:
+
+
+
+### 🐕 [Copy on Write Performance Measurements](https://github.com/Swift-CowBox/Swift-CowBox-Sample)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 24 年 04 月 15 日期推荐的 COW 库后续,作者使用 Benchmarks 和 Instruments 对他的 COW 库进行了详细的性能评估。对性能评估和 COW 细节感兴趣的读者欢迎阅读。
+
+### 🐢 [Build your next website in Swift](https://www.hackingwithswift.com/articles/266/build-your-next-website-in-swift)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者借由 WWDC 2019 上苹果用来介绍 result builders 的 HTML 风格的代码作为引子,一步一步地展示了如何通过 Swift 的各种语法构建出一个类 HTML 风格的开发框架,并最终输出 HTML 代码,使得 Swift 开发者可以不必精通 HTML 就可以通过 Swift 写出 HTML 代码。同时写 Swift 代码相比直接写 HTML 又有更好的编译校验,提高了可靠性。在这个过程中,作者也介绍了 result builders 的用法和它的一些特性。最后作者揭示了这个框架的整体构思过程,当你回看时会发现这其实和 SwiftUI 如出一辙。
+
+
+### 🐕 [Always correct gradient text in UIKit](https://nemecek.be/blog/143/always-correct-gradient-text-in-uikit)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章提供了在 UIKit 中为 UILabel 创建渐变文本的解决方案。初始方法是通过 UIImage 生成 UIColor,但存在问题:当 UILabel 的 frame 大于文本内容时,渐变显示不完整。解决方案包括使用 AutoLayout 居中渐变或设置合适的约束,或者使用 UIStackView 子类来自动布局,确保渐变正确渲染。文章强调,渐变渲染应作为最后步骤进行,以适应当前文本的边界。此方法也适用于 UITextView。
+
+### 🐢 [一文搞懂七种基本的 GC 垃圾回收算法](https://mp.weixin.qq.com/s/RSWYSAzpvPJD056vZDQPig)
+
+[@Crazy](https://github.com/jiyan135960):本篇文章是一篇非常详细的关于 GC 算法的讲解文章,仔细的阅读本文不仅可以让你理解现有的七种基本的 GC 算法,更可以应用在面试中,让你在面试中给面试官留下深刻印象。本文先介绍了 GC 算法的起源与基本概念,其中主要讲解了 GC 算法的性能评价标准。基础讲解完之后本文开始详细讲述了 GC 的七种基本算法的原理与改进方法,其中包括:标记-清除法、引用计数法、GC 复制算法、标记-压缩算法、保守式 GC 、分代垃圾回收、增量式垃圾回收。在文章的最后作者更是用一张图来简明扼要的对七种算法进行了对比,将各个算法的优缺点都写在了表格之中。本文是一篇值得大家反复仔细阅读的文章,无论是工作中还是面试中对大家都会有很深的帮助。
+
+## 音视频
+
+### [WWDC Index](https://nonstrict.eu/wwdcindex/)
+
+[@EyreFree](https://github.com/EyreFree): WWDC 会议的非官方索引,包含 2000 年至 2023 年 3430 次会议的资源,以及各种技术讲座,比较完整。此网站不隶属于苹果公司,所有内容仅供参考。感兴趣的同学可以收藏学习。
+
+### [Developing An Inclusive Mindset](https://david-smith.org/blog/2024/04/22/new-post/)
+
+[享耳先森](https://github.com/iblacksun): 如果你的产品在考虑或已经做了无障碍适配,建议看看这个视频。作者 David Smith 是独立开发者,开发了 `Pedometer Plus+` 等应用,视频里重点介绍了他对 ` 包容性设计 ` 的认知发展过程:无障碍适配不仅仅是 `Accessibility API` 适配这么简单,而应该从更全局的角度来审视整个设计。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[杭州] 心光团队 - 心光 App - iOS/Android/UI/UX/资深运营增长专家
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#292-2024.06.10.md b/Reports/2024/#292-2024.06.10.md
new file mode 100644
index 000000000..6a0e35062
--- /dev/null
+++ b/Reports/2024/#292-2024.06.10.md
@@ -0,0 +1,75 @@
+# 老司机 iOS 周报 #292 | 2024-06-10
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 [【老司机技术出品】 WWDC24 内参目录(更新中)](https://wwdc-reference.feishu.cn/wiki/QsFQwuOgcirBZck2xorcGtwUnKb?table=tblETPZEPEmxZ8gy&view=vewysxfUqf)
+
+今年我们如期带来 Session 的汇总,并会在每天推送当天新放出的 Session ,欢迎大家关注更新。
+
+## 文章
+
+### 🌟 🐕 [What Does spacing = nil Mean in SwiftUI? ](https://fatbobman.com/en/posts/spacing-of-swiftui/)
+
+[@zoeGuo](https://github.com/zoeGuo):作者通过探讨子视图间不一致的间距问题,深入分析了 spacing 参数的默认值 nil 所代表的含义。作者从“是什么”、“为什么”、“怎么用”的角度,分析了 SwiftUI 中 spacing 的构成和原理。对开发者在处理复杂布局、追求 UI 细节时有很大帮助,掌握一些 spacing 技巧也能帮助实现一些用传统方法难以达到的布局效果。
+
+### 🐎 [How Do You Know Whether or Not SwiftUI Previews and Preview Content Are Excluded From App Store Builds?](https://jaredsinclair.com/2024/05/20/preview-content.html)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 部分同学写 Preview 代码可能没有加 `#if DEBUG` 的习惯,理想情况下也确实不用加。Preview 代码不会被实际上游代码引用,因此直觉是不用 `#if DEBUG` 也不会出现在最终代码中。本文介绍了目前 SwiftUI Preview + Xcode 的一些 bad case,并建议大家目前对于 Preview 代码还是保持写 `#if DEBUG`。
+
+### 🐎 [Do NOT init State externally in SwiftUI](https://samwize.com/2024/05/08/do-not-init-state-externally-in-swiftui-view/)
+
+[@JonyFang](https://github.com/JonyFang): 这篇文章详细解析了为何不应在 SwiftUI 中外部初始化 `State`,并提供内联初始化的正确姿势及其他解决方案,避免视图更新问题。
+
+### 🐎 [Swift 集成 KSCrash IOS 崩溃跟踪](https://bin.zmide.com/?p=1220)
+
+[@kemchenj](https://kemchenj.github.io/):本篇文章讲解了在 Swift 项目中集成 KSCrash 进行 iOS 应用崩溃日志跟踪的方法,并提供了将日志输出到指定文件的解决方案。作者详细介绍了 KSCrash 的配置和自定义输出文件的实现步骤,包含代码示例,帮助开发者更好地管理和分析应用崩溃信息。
+
+> 推荐人:[PBK-B](https://github.com/PBK-B)
+
+
+### 🐕 [Boost Performance by Over 100x Using the Accelerate Framework](https://getstream.io/blog/accelerate-framework/)
+
+[@BluesJiang](https://github.com/BluesJiang):这篇文章简单介绍了苹果自带的框架 Accelerate 的应用范围和作用。因为 Accelerate 框架是比较集中在数据特定领域的加速框架,比如视频、图片、音频、科学计算等,所以了解的人不多。本文给出了他们使用 Accelerate 框架的两个应用,并且已经开源,发现这个框架相比于市面上泛用的 C++ 框架有这个更好的计算性能和能效优势,解决了他们在使用常规并行计算时依旧会产生的延迟,并且也显著降低了内存消耗。这个得益于 Accelerate 针对苹果设备的高度优化,并且是苹果自己也在使用的高性能计算框架。
+如果你也有类似的实时计算需求,不妨研究一下这个框架,说不定有意外之喜。
+
+### 🐎 [Designing a Declarative API](https://www.mobilesystemdesign.com/blog/declarative-api-design/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者通过开发一个对用户输入进行验证的 Validator 的例子,一步步为大家揭示了如何去设计一个声明式风格的 API。对于不太了解声明式编程的同学来说 SwiftUI 就是一个非常典型的声明式的开发框架。作者对于设计声明式 API 的一个重要思想就是,我们应该优先聚焦在最终的代码应该如何被展现的逻辑和结构上,然后才轮到讨论具体的控制流。同时作者也通过例子证明了声明式编程可以和 UI 无关,也并不一定意味着包含链式调用。
+
+### 🐕 [几个在 SwiftUI 中使用惰性容器的技巧和注意事项](https://fatbobman.com/zh/posts/tips-and-considerations-for-using-lazy-containers-in-swiftui/)
+
+[@AidenRao](https://weibo.com/AidenRao): 这篇文章介绍了在 SwiftUI 中使用惰性容器的几个技巧和注意事项。惰性容器如 List 和 LazyVStack 在展示大型数据集时非常高效,它们只在需要时动态构建和加载视图,从而提升应用性能和内存利用效率。文章提到了自定义遵循 RandomAccessCollection 协议的数据类型,以优化数据源的性能和内存使用。此外,还介绍了实现无限数据加载的方法,以及 id 修饰器对 List 懒加载机制的影响等。这些技巧和注意事项能够使开发者在 SwiftUI 中保持流畅的用户体验和高效的资源使用。
+
+## 代码
+
+### 🌟 🐕 [ZippyFormat](https://github.com/michaeleisel/ZippyFormat)
+
+[@EyreFree](https://github.com/EyreFree): ZippyFormat 是一个更快版本的 NSString stringWithFormat 方法,在 iOS 端可以显著提升字符串格式化的性能。它通过直接将格式化参数追加到 char* 缓冲区,并仅在最后创建 NSString 来优化性能。ZippyFormat 还利用堆栈来避免 NSMutableString 产生的中间堆分配。此外,它在追加格式化参数时无需执行验证,因为已经知道数据是有效的 UTF-8。对于常见的 %@ 参数如 NSNumber、NSDictionary、NSArray 等,ZippyFormat 通过直接复制已知的输出到缓冲区,避免了调用 [object description] 的开销。总的来说 ZippyFormat 通过在较低层次上操作,避免了 Apple 原生实现中不必要的抽象和验证,从而显著提升了字符串格式化的速度。它是一个非常值得尝试的性能优化工具。
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#293-2024.06.17.md b/Reports/2024/#293-2024.06.17.md
new file mode 100644
index 000000000..384c3b3b6
--- /dev/null
+++ b/Reports/2024/#293-2024.06.17.md
@@ -0,0 +1,69 @@
+# 老司机 iOS 周报 #293 | 2024-06-17
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Bad practice: not using a ButtonStyle](https://www.swiftwithvincent.com/blog/bad-practice-not-using-a-buttonstyle)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了一些不使用 ButtonStyle 的 bad case,一篇关于 SwiftUI ButtonStyle 的入门科普。
+
+## 文章
+
+### 🌟 🐕 [QQ 客户端性能稳定性防劣化系统 Hodor 技术方案](https://mp.weixin.qq.com/s/ng_R0s9tAsFCdc2O1JE_Pw)
+
+[@JonyFang](https://github.com/JonyFang): 手 Q 的防劣化系统命名为 Hodor 系统,从 2021 年 10 月开始研发,历时近三年迭代至今。系统涉及验证闭环、群控机架搭建等复杂过程,包含不少行业内独创方案。与厂商合作进行底层问题沟通,并在 2024 年拓展至 QQ 桌面客户端。系统目前已在 QQ 各平台落地,方案可做借鉴。
+
+### 🐎 [Comparing Swift Compiler Performance on Type Inference Part I Strings, Numbers, Arrays, Dictionaries and Constructables](https://lucasvandongen.dev/compiler_performance.php)
+
+[@kemchenj](https://kemchenj.github.io/): 这篇文章比较了 Swift 编译器在进行类型推断时的性能,特别是在字符串、数字、数组、字典和可构建类型的初始化方面。作者通过基准测试发现,使用未类型化的字面量初始化通常最快,而使用 `.init()` 的方式最慢。特别是在复杂上下文中,例如计算属性,`.init()` 的性能下降明显。文章还指出,不同版本的 Xcode 在编译性能上的差异,并提出了优化编译时间的具体建议。
+
+### 🐎 [iOS 18: Notable UIKit Additions](https://www.swiftjectivec.com/ios-18-notable-uikit-additions)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了 iOS 18 中 UIKit 一些值得注意的新增功能 :
+- 自动 Trait 跟踪 : UIKit 会自动检测某些生命周期函数中涉及的 Trait 变化 , 并调用相应的更新函数,减少了开发者需要手动注册特征变化监听的代码。
+- UIUpdateLink: UIUpdateLink 提供了比 CADisplayLink 更好的性能和电池效率 , 可用于复杂动画和绘制应用程序。
+- 更多符号动画 : 新增了摇摆、呼吸和旋转等三种新的符号动画效果。
+- 自定义文本格式化 : 开发者可以自定义文本编辑器中显示的格式化工具,默认关闭需要手动 opt-in。
+
+### 🐎 [Rust - 性能超越 Kotlin 的跨平台方案](https://mp.weixin.qq.com/s/b8lHRfk5G2yN7pkoURU7CA)
+
+[@Smallfly](https://github.com/iostalks):这篇文章讨论了跨平台开发技术,指出 Rust 由于内存安全、并发安全和 WebAssembly 支持,成为 C/C++ 的替代品,特别适合处理跨平台业务逻辑。文章分析了桥接、IPC 和 Canvas 绘制等跨平台方案,并提出使用 Rust 作为「前端中的后端」,通过 protobuf 等高效序列化方式与原生平台通信。Rust 在性能上超越 Kotlin Native,适合开发底层库。作者建议 Rust 可替代 C++ 用于跨平台开发,提供更现代的语法和更安全的代码。
+
+## 代码
+
+### 🌟 🐕 [o3d](https://mp.weixin.qq.com/s/_EaqpWF-CgCgX0sTkXoHsw)
+
+[@Damien](https://github.com/ZengyiMa): o3d 是一款 Flutter 3D 渲染插件,它是一个能够在 Flutter 上渲染 glTF 和 GLB 格式 3D 模型的 widget 插件,支持 Android,IOS,Web 三个平台,不仅支持加载本地文件,而且支持加载在线文件。
+
+### 🐎 [swift-testing-revolutionary](https://github.com/giginet/swift-testing-revolutionary/)
+
+[@DylanYang](https://github.com/Dylan19Yang): swift-testing-revolutionary 是一个 Xcode 插件,可以帮助开发者快速将自己现有项目中的的 XCTest 框架的测试代码自动迁移到苹果最新推出的 swift-testing 测试框架中,插件支持了大部分的代码转化,但仍有小部分需要人工处理。你也可以通过 Command Plugin 或者命令行工具来使用它。
+
+### [Cocoapods-sled 让 iOS 组件二进制化变得简单](https://juejin.cn/post/7375419781132042267)
+[@莲叔](https://aaaron7.github.io):二进制化是加快编译速度的常见手段,很多大厂在这个方向都做过不小的研究。但目前行业上还缺乏比较泛用的方案。cocoapods —— sled 这个插件就是为了解决这个问题,能针对 pod 进行二进制化并且能灵活的切换二进制和源码构建。有类似需求的小伙伴可以试试。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2024/#294-2024.06.24.md b/Reports/2024/#294-2024.06.24.md
new file mode 100644
index 000000000..4185f872a
--- /dev/null
+++ b/Reports/2024/#294-2024.06.24.md
@@ -0,0 +1,87 @@
+# 老司机 iOS 周报 #294 | 2024-06-24
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [使用 Swift 6 语言模式构建 Swift 包](https://juejin.cn/post/7376444924425011210)
+
+[@AidenRao](https://weibo.com/AidenRao): Swift 6 带来了许多重要的新特性,如数据隔离和数据竞争安全检查,这些特性有助于编写更安全、更高效的代码。然而,这些新特性并不会自动启用,需要通过 Swift 6 语言模式显式开启。通过下载和安装 Swift 6 工具链,并在命令行或包清单文件中启用 Swift 6 语言模式,我们可以提前体验和适应这些变化。尽管新特性带来了一些学习和调整成本,但它们最终会使我们的代码更加健壮。
+
+### 🐎 [Here are 3 advanced tips in Swift](https://www.swiftwithvincent.com/blog/here-are-3-advanced-tips-in-swift/)
+
+[@DylanYang](https://github.com/Dylan19Yang): 作者在本文中介绍了三个知识点
+1. enumareted 返回的 index 永远是一个从 0 开始的计数器,它与实际数组的 index 是不保证相等的,像 ArraySlice 这种 index 不从 0 开始的情况就会出现问题。更稳妥的情况是使用 zip 组合 indices 或者使用 Algorithms 库的 indexed 方法来进行遍历。
+2. 多层嵌套的循环前可以加上标签,方便在内层循环中需要时直接 break 外层循环。
+3. 非枚举类型也可以通过方法重载来使用模式匹配。
+
+### 🐕 [A preview of our upcoming UIKitNavigation library](https://www.pointfree.co/blog/posts/145-a-preview-of-our-upcoming-uikitnavigation-library)
+
+[@Barney](https://github.com/BarneyZhaoooo):文章介绍了即将发布的 UIKitNavigation 库,这是一个为 UIKit 设计的状态管理和导航工具库,灵感来源于 SwiftUI。它包括状态观察、双向绑定和状态驱动导航等功能,旨在简化 UIKit 应用开发。此外,库的工具基于纯 Swift 构建,具有跨平台潜力。
+
+### 🐕 [node-swift: Write NodeJS native modules in Swift](https://github.com/kabiroberai/node-swift)
+
+[@EyreFree](https://github.com/EyreFree):NodeSwift 是一个让 Swift 与 Node.js 无缝对接的库。它具有以下优点 :
+
+- 安全:充分利用了 Swift 的内存安全和自动引用计数,无需手动管理内存,避免了内存相关的问题;
+- 简单:提供了不同层次的 API,适应不同的需求,并且使用渐进式的方式让开发者循序渐进地使用;
+- 原生:NodeSwift 的 API 设计遵循 Swift 的惯用法,例如使用 Swift 的 Dynamic Member Lookup 特性让互操作更加自然;
+- 全面:在 Swift 中可以访问几乎所有的 Node.js API,包括操作 JavaScript 对象和调度事件循环等;
+- 跨平台:支持 macOS、Linux、Windows 甚至 iOS 等多个平台;
+- 高效:直接在宿主平台上运行 Swift 代码,相比 WebAssembly 拥有更好的性能,且可以直接访问系统底层 API。
+
+NodeSwift 是 Swift 与 Node.js 互操作的优秀方案,帮助开发者用 Swift 构建 Node.js 模块,或在 Swift 应用中引入 Node.js 的生态,为相关应用开发带来更多可能性。
+
+### 🐎 [Getting started with Swift Testing](https://www.polpiella.dev/swift-testing)
+
+[@Smallfly](https://github.com/iostalks):Swift Testing 是由 Apple 在 2024 年的 WWDC 上介绍的现代、表达性强、基于宏的测试库,旨在替代 XCTest 用于编写单元测试。文章详细介绍了如何开始使用 Swift Testing,如何使用它编写测试,以及如何将现有的 XCTest 测试迁移到新库中。
+
+### 🐕 [Environment & Preference Updates](https://talk.objc.io/episodes/S01E409-environment-preference-updates?t=63)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):本文讨论了 SwiftUI 的视图更新在环境和首选项更改方面的一些微妙之处,并通过简单的例子来一步步解释,感兴趣的读者可以通过本文示例代码进行验证 SwiftiUI 上的环境值、首选项和视图更新上的一些独特点(附视频)。
+
+## 代码
+
+### 🐕 [Enable XcodeLLM for ChinaSKU Mac on macOS 15 Beta 1](https://gist.github.com/Kyle-Ye/4ad1aa92df3a31bd812487af65e16947)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): Gist 中介绍了如何使用 lldb / DYLD_LIBRARY_INSERT 方式在 macOS 15 Beta 1 上给国行 Mac 设备启用 XcodeLLM 的方案。
+
+> 警告:上述方式均需要关闭 SIP,请提前了解关闭系统完整性保护的风险再操作。
+
+
+### 🐎 [分析 XPC 通信的图形界面](https://github.com/chichou/XpcScope)
+
+[@Damien](https://github.com/ZengyiMa): XPC 是 macOS / iOS 安全研究无法忽视的一个点,本项目是模仿 Wireshark 的界面,提供图形界面分析用户态进程之间的通信。
+
+## 音视频
+
+### 🐢 [So You Think You Know Git Part 2 - DevWorld 2024](https://www.youtube.com/watch?v=Md44rcw13k4)
+
+[@BluesJiang](https://github.com/BluesJiang): 这个视频介绍了很多 Git 的高级用法,比如 git switch、 Git rebase, git LFS,git scalar,git worktree,gitbutler 等高级用法。里面对每一个功能都做了简要的说明,可以根据自己的兴趣酌情观看。
+
+比较有特点的是 git scalar 一个为大 git 仓库做了优化的 git 命令,git worktree、gitbutler 能让你在同一个仓库里快速切换功能分支,加速你多 feature、bugfix 的开发。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#295-2024.07.01.md b/Reports/2024/#295-2024.07.01.md
new file mode 100644
index 000000000..fee22748a
--- /dev/null
+++ b/Reports/2024/#295-2024.07.01.md
@@ -0,0 +1,94 @@
+# 老司机 iOS 周报 #295 | 2024-07-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+今年的内参创作正在紧锣密鼓的展开,首篇文章已经发布。目前 空间计算 等主题还有重要 Session 期待大家的创作,可以[填写问卷](https://docs.qq.com/form/page/DZWZPZk1seFJWWURG)继续报名:)
+
+### 🌟 [WWDC24 10195 - Go further with Swift Testing](https://xiaozhuanlan.com/topic/5946873021)
+
+[@Zac](https://github.com/jihongboo):Swift Testing 是 Swift 团队推出的一个全新的测试框架,集合了原生、开源、跨平台、高效、易用、IDE 无缝集成等新特性。文章从 0 开始介绍如何使用 Swift Testing ,对比了与 XCTest 的差异,最后对 Swift Testing 以及单元测试的相关问题进行了探讨。
+
+## 新手推荐
+
+### 🐢 [Flutter 面试八股之深入理解 Dart 异步实现机制](https://mp.weixin.qq.com/s/OTYt2efBQOYuc5ko_PU1iw)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 日常开发中用到的各种异步机制你都了解其运行原理么 : Future, Timer, isolate, Runner; 他们跟 Thread 又有什么关系?本文由 GYSTech 提供,详细阐述了几个异步机制的深层原理,同时清晰的展示各种关联,带你详细了解 Flutter 异步机制;最后小编推荐有英文阅读能力的同学同时[阅读 Dart VM 机制讲解](https://mrale.ph/dartvm/),可以加深对于 Flutter 底层运行的了解.
+
+## 文章
+
+### 🐎 [All new frameworks presented at WWDC24](https://marcoeidinger.github.io/appleframeworks/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一个关于 Apple 公共框架的在线资源页面,为开发者提供了一个全面、准确、易用的 Apple 公共框架查看和搜索平台,极大地便利了开发者在 Apple 生态系统中进行框架选择和开发工作。
+
+
+### 🐎 [Reverse Engineering Photos' New Search UI](https://sebvidal.com/blog/reverse-engineering-photos-search-ui/)
+
+[@Damien](https://github.com/ZengyiMa/):文章介绍了 iOS 18 中 Photos 应用搜索界面的逆向工程分析。作者探索了创建与键盘背景融合的自定义搜索栏的技术,并通过调试和使用 Objective-C 运行时方法,成功复现了这一效果。最后,作者提供了一个 GitHub 示例项目,展示了如何将自定义搜索栏集成到应用中。
+
+### 🐕 [Preparing your App Icon for dark and tinted appearance](https://www.createwithswift.com/preparing-your-app-icon-for-dark-and-tinted-appearance/)
+
+[@AidenRao](https://weibo.com/AidenRao): 这篇文章介绍了在 iOS 18 中引入的关于应用图标的新要求,提供三种不同版本的应用图标:亮模式、暗模式和有色(tinted)模式。文章提供了关于设计这些图标的建议和注意事项,包括暗模式下的颜色选择和有色模式下的灰度图像要求。此外,还介绍了如何使用苹果提供的设计资源和模板来支持开发者和设计师创建可自定义的应用图标。
+
+### 🐕 [SwiftData vs Realm: Performance Comparison](https://www.emergetools.com/blog/posts/swiftdata-vs-realm-performance-comparison/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者通过自己写的测试 Demo 深度对比了成熟的社区开源产品 Realm 以及 Apple 新推出的 SwiftData 的性能差距。总的来说得益于 Realm 使用的轻量化的对象和 mmap 的内存管理方案,Realm 在大多数场景下尤其是处理大量数据的时候都有远超 SwiftData 的性能表现,部分差距可达 3-10 倍。但是 SwiftData 在复杂数据查询和少量数据(<=10000)时的更新场景下也有优势。除开性能表现外,SwiftData 相较于 Realm 而言还是一个不够成熟的框架,比如最低支持 iOS 17+ 以及依然存在若干 bug 等,不过 SwiftData 支持索引,这对大数据集有一定帮助。以上这些都是开发者在做数据库的方案选择时可以考虑的因素。
+
+## 工具
+
+### 🐎 [riffo.ai:AI 文件自动整理工具](https://riffo.ai)
+
+[@EyreFree](https://github.com/EyreFree):Riffo 是一款革命性的 AI 文件命名工具,旨在帮助用户告别杂乱无章的文件名,节省大量文件整理时间。它内置于菜单栏中,只需单击即可使用。Riffo 支持各种常见文件格式,如图片、Word 文档、PDF 等,让文件管理变得简单高效。用户可以自定义命名规则,Riffo 就会自动为文件批量重命名,实现无人工干预的文件管理。凭借并行处理技术,Riffo 可以在几秒钟内完成大批量文件的重命名,目前支持 macOS 系统。推荐每一位被文件管理所苦的用户尝试使用。
+
+### 🐎 [Installing macOS Sequoia Beta in a Separate APFS Volume](https://adrian.schoenig.me/blog/2024/06/13/installing-macos-sequoia-in-a-separate-volume/)
+
+[@Crazy](https://github.com/jiyan135960):对于既想要使用最新版本的 macOS Sequoia,但却只有一台主力机的开发人员来说。利用一个单独的 APFS 卷来安装 macOS Sequoia 测试版,是一个很好的方法,本文将这种安装最新 macOS 的过程简化为 10 个步骤。
+
+- 使用 Time Machine 进行备份
+- 创建一个新的 APFS 卷
+- 关闭 Mac
+- 启动并一直按住电源按钮
+- 选择“ Options ”
+- 然后选择将 Sonoma 重新安装到步骤 2 中的卷
+- 等待一段时间
+- 安装完成后,最好不要登录 iCloud,并跳过迁移之前的用户账户
+- 打开系统设置,启用测试版更新,并将该安装更新到 Sequoia
+- 向 Apple 提交反馈!
+
+
+## 代码
+
+### 🐕 [apple/app-store-server-library-swift](https://github.com/apple/app-store-server-library-swift)
+
+[@Barney](https://github.com/BarneyZhaoooo):Apple App Store Server Swift Library 是一个为 App Store 服务器 API 和通知设计的 Swift 库,支持 iOS 应用开发。它提供了安装指南、详细的 API 文档、使用示例和安全更新支持。开发者可以通过 Swift Package Manager 轻松集成,并参照示例代码快速上手。
+
+
+### 🐢 [below/HelloSilicon](https://github.com/below/HelloSilicon)
+
+[@xuyafei86](https://github.com/xiaofei86):在 iOS 开发中,定位疑难 BUG、优化性能和逆向工程等经常需要对汇编、操作系统、处理器有一定的了解。但在 Apple Silicon Mac 上学习汇编十分困难,大部分中文材料仍然停留在 32 位处理器,基于 Linux 系统。而《Programming with 64-Bit ARM Assembly Language》是入门 ARM64 汇编语言的优秀材料。本仓库将此书的所有示例代码适配到 Apple Silicon Mac。感兴趣的同学可以结合原书一起学习。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#296-2024.07.08.md b/Reports/2024/#296-2024.07.08.md
new file mode 100644
index 000000000..25dd99a9d
--- /dev/null
+++ b/Reports/2024/#296-2024.07.08.md
@@ -0,0 +1,75 @@
+# 老司机 iOS 周报 #296 | 2024-07-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10144 - What's New in SwiftUI](https://xiaozhuanlan.com/topic/5931472806)
+
+[@WBear](https://github.com/WBearJ):SwiftUI 作为苹果在 2019 年发布的跨平台框架至今,经过多年的版本更新、优化迭代,已经相对成熟。国外已经有部分公司已经开始使用 SwiftUI 进行商业化开发了,对已有 app 进行重构和更新和新 app 的从 0 开发。国内目前因大量用户的 iOS 版本还停留在较早版本,所以导致 SwiftUI 在国内不温不火。但是 SwiftUI 作为苹果未来主推的方式,作为 iOS 开发者,提前了解与学习 SwiftUI 并不是无用功,以备不时之需 (毕竟小组件只能用 SwiftUI 来开发,而且想要写出更酷炫的 Vision Pro app ,学习 SwiftUI 也是必不可少的环节)。
+
+### 🌟 [WWDC24 10136 - Swift 的新功能](https://xiaozhuanlan.com/topic/2470951386)
+
+[@bq](https://github.com/bqlin):文章简要回顾 Swift 过去十年的历史,介绍社区通过工作组、扩展包生态和增加平台支持来促进 Swift 发展。还介绍一种默认实现数据竞争安全的新语言模式,以及一个允许在高度受限系统上运行的 Swift 语言子集。最后将探索一些语言更新,包括不可复制类型、类型化抛出和改进的 C++ 互操作性。
+
+## 文章
+
+### 🐕 [Async await in Swift explained with code examples](https://www.avanderlee.com/swift/async-await/)
+
+[@zoeGuo](https://github.com/zoeGuo):这篇文章很全面的讲解了 Swift 中 `async` 和 `await` 在处理异步任务中的作用和用法。并探讨了结构化并发的概念,通过线性执行方法,使异步代码执行顺序需更加清晰,与传统基于闭包的的异步编程相比,结构化并发更简洁、易理解。同时代码示例了如何将基于闭包的异步代码转换成使用 `async` 和 `await` 处理的新结构。文末还讨论了 Swift 6 的新特性和相关迁移策略。
+
+### 🐎 [Flutter 架构设计:MVVM + Repository](https://mp.weixin.qq.com/s/pEQmf9LjhpsHQ7SOe33IPg )
+[@极速男孩](https://github.com/ztlyyznf001):文章介绍了 Flutter 中的 MVVM+Repository 架构设计,强调高内聚、低耦合的核心原则。通过分离关注点, MVVM 使代码更易于维护和测试,结合 Repository 模式进一步解耦业务逻辑和数据访问。文中详细解释了 MVC, MVP 和 MVVM 的演变原因,并提供了 MVVM+Repository 在 Flutter 中的实现示例,展示了如何通过 StreamController, FutureBuilder 和 StreamBuilder 进行数据绑定和异步操作管理。
+
+### 🐎 [Plotting a Path to a Package Ecosystem without Data Race Errors ](https://www.swift.org/blog/ready-for-swift-6/)
+
+[@Damien](https://github.com/ZengyiMa):本文主要讨论了 Swift 6 语言模式对于数据竞争安全性的改进。Swift 6 可以帮助消除潜在的并发错误,提高代码的全性和可维护性。目前,已有超过 43% 的包没有数据竞争错误,这对于 Swift 6 beta 过程的第一周来说是一个很好的开始。
+
+### 🐎 [普通 iOS 开发者的第一款 Harmony Next 应用](https://mp.weixin.qq.com/s/KjydTcbUQAafB6zFIi7yDw)
+
+[@Crazy](https://github.com/jiyan135960):本篇文章中不包含代码,读起来会很快,但是里面包含了很多产品开发中的关键点。抛开 Harmony 不谈,这篇文章也可以为其他的移动端产品开发提供很多的借鉴,如果想成为独立开发者的话,更要仔细阅读此文。本文从立项开始讲起,其中有竞品分析,技术选型,之后更有隐私协议等合规流程的介绍,可以说是对一个移动端应用从开发到上架的大致的重要任务都已提及。俗话说实践出真知,看完了文章,大家可以尝试自己按照这套流程自己写一个小应用看看反响。
+
+## 工具
+
+### 🐕 [Generative AI for beginners](https://github.com/microsoft/generative-ai-for-beginners)
+
+[@JonyFang](https://github.com/JonyFang): Generative AI for Beginners 是微软 Cloud Advocates 团队推出的生成式 AI 入门的系列课程,分十二章介绍了构建生成式 AI 应用程序的基础知识,课程仓库在 GitHub 上已有超过 5.5w Stars。教程中逐章介绍了生成式人工智能原理和应用程序开发的知识点,提供了导学视频、相关扩展材料、代码示例及相关进阶的学习资源。
+
+### 🐎 [AutoCorrect](https://github.com/huacnlee/autocorrect)
+
+[@Smallfly](https://github.com/iostalks):AutoCorrect 是一个基于 Rust 编写的工具,用于「自动纠正」或「检查并建议」文案,给 CJK(中文、日语、韩语)与英文混写的场景,补充正确的空格,纠正单词,同时尝试以安全的方式自动纠正标点符号等等。
+
+类似 ESlint、Rubocop、Gofmt 等工具,AutoCorrect 可以用于 CI 环境,它提供 Lint 功能,能便捷的检测出项目中有问题的文案,起到统一规范的作用。
+
+支持各种类型源代码文件,能自动识别文件名,并准确找到字符串、注释做自动纠正。
+
+## 代码
+
+### [WhisperKit](https://github.com/argmaxinc/WhisperKit/)
+
+[@DylanYang](https://github.com/Dylan19Yang):一个集成了 OpenAI 的 Whisper 语音识别模型的 Swift 库,作者利用 CoreML 库和 iPhone 设备上的神经网络引擎对音频编码、文字解码等做了额外的性能优化。主页上有提供通过 TestFlight 下载的 Demo App,有兴趣的同学可以体验一下。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#297-2024.07.15.md b/Reports/2024/#297-2024.07.15.md
new file mode 100644
index 000000000..e51adb0b5
--- /dev/null
+++ b/Reports/2024/#297-2024.07.15.md
@@ -0,0 +1,76 @@
+# 老司机 iOS 周报 #297 | 2024-07-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10135 - What's new in Xcode 16](https://xiaozhuanlan.com/topic/3658412079)
+
+[@Yuanxu Han](https://github.com/hanyx1992):和往年一样,今年 Xcode 也迎来了全新版本,Session 10135 从 `Edit`,`Build`,`Debug`,`Test`,`Profile` 几个方面非常简短地讲述了更新的内容,文章针对这些重点特性分别进行了 Session 内容的翻译和部分必要的补充,尽力保证读者都可以对其有清楚的认识和理解;然后从 Xcode Release Note 中整理了部分需要关注的更新点;最终进行总结和探讨。
+
+### 🌟 [WWDC24 10188 - SF Symbols 6 使用指南](https://xiaozhuanlan.com/topic/3691085724)
+
+[@Mim0sa](https://github.com/Mim0sa):为了更方便没有 SF Symbols 经验的读者理解,也将往年的 SF Symbols 相关内容归纳整理。本文从 SF Symbols 的特性切入,讨论 SF Symbols 这款由系统字体支持的符号库有哪些特点以及该如何使用。在这次 WWDC 2024 更新中,除了符号的数量增加到了 6000+ 之外,还新增了一些能让符号们更加活泼的动画效果,同时提升整体使用体验,给界面带来了更多活力和想象力,让 SF Symbols 这把利器变得又又又更加趁手和锋利了。
+
+## 文章
+
+### 🐎[The State Of Meridian](https://khanlou.com/2024/06/the-state-of-meridian/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了于几年前 Meridian Swift 服务端框架的最新状态(async&await / Websockets 支持 / 中间件等)和未来计划(Swift Macro 和 Swift OpenAPI framework 迁移),对 Swift on Server 感兴趣的同学可以详细阅读了解。
+
+### 🐎 [Swift Testing support for SnapshotTesting](https://www.pointfree.co/blog/posts/146-swift-testing-support-for-snapshottesting)
+
+[@Smallfly](https://github.com/iostalks):WWDC24 推出的 Swift Testing 框架为 Swift 语言带来了新的原生测试支持。作者介绍 SnapshotTesting 库已同步支持此框架,同时提供了 Beta 预览和新特性。它简化了 XCTest 与 Swift Testing 的不兼容问题,允许开发者在不同测试环境中使用统一的 assertSnapshot 方法。对测试框架感兴趣的同学可阅读原文了解更多。
+
+### 🐕 [Using TextRenderer to create highlighted text](https://alexanderweiss.dev/blog/2024-06-24-using-textrenderer-to-create-highlighted-text)
+
+[@AidenRao](https://weibo.com/AidenRao): 这篇博文介绍了如何使用 TextRenderer 在 SwiftUI 中创建带有文本高亮效果的视图。TextRenderer 是在 WWDC 2024 上引入的新协议,可以增强文本的渲染。使用TextRenderer,我们可以更纯粹地在 SwiftUI 中实现文本高亮,而不再需要使用 NSAttributedString。
+
+## 工具
+
+### 🐎 [ImHex](https://github.com/WerWolv/ImHex)
+
+[@EyreFree](https://github.com/EyreFree):ImHex 是一个功能丰富的十六进制编辑器,专为逆向工程师、程序员和夜间工作者设计。它提供了许多实用功能,如:
+
+- 强大的十六进制视图,支持字节修补、无限撤销 / 重做、多种数据解释和高亮显示等;
+- 自定义 C++ 风格的模式语言,用于解析和高亮文件内容;
+- 数据检查器,可将数据解释为多种类型;
+- 基于节点的数据预处理器,可在显示前修改和解码数据;
+- 支持多种数据源,如本地文件、原始磁盘、进程内存等;
+- 内置反汇编器,支持多种处理器架构;
+- 集成 Yara 规则扫描;
+- 差异比较、数据分析、可视化等辅助工具;
+- 现代化用户界面,支持多工作区、自定义布局、深色模式等。
+
+总之,ImHex 是一款功能全面、设计专业的十六进制编辑器,可以极大提升逆向工程和低级编程的工作效率,感兴趣的朋友可以试试。
+
+## 代码
+
+### 🐎 [StreamUI](https://github.com/StreamUI/StreamUI)
+
+[@Damien](https://github.com/ZengyiMa): StreamUI 项目是一个用于创建和流媒体视频的强大库,它允许开发者使用 SwiftUI 编程生成动态视频,并实时渲染和直播。这个库的主要功能包括实时视频渲染,直播流媒体,动态视频生成等。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#298-2024.07.22.md b/Reports/2024/#298-2024.07.22.md
new file mode 100644
index 000000000..066a5039c
--- /dev/null
+++ b/Reports/2024/#298-2024.07.22.md
@@ -0,0 +1,68 @@
+# 老司机 iOS 周报 #298 | 2024-07-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10104 - 使用 RealityKit 构建空间绘画 App](https://xiaozhuanlan.com/topic/9421058376)
+
+[@Layer](https://github.com/LLLLLayer): RealityKit 是 visionOS 应用空间功能的基础。我们将以空间绘画 App 为例,探索资源在 RealityKit 中的运作方式,通过构建自定义网格、纹理和着色器、使用低级别网格和纹理 API 等,实现精致的视觉设计。
+
+### 🌟 [WWDC24 10074 - 动态字体体验入门](https://xiaozhuanlan.com/topic/6789542301)
+
+[@nuomi1](https://github.com/nuomi1): 使用动态字体功能实现一个演示 App,对比 SwiftUI 与 UIKit 在实现上的异同点。
+
+### 🌟 [WWDC24 10118 - UIKit 新功能](https://xiaozhuanlan.com/topic/0679358421)
+
+[@Sharker](https://github.com/AkaShark): 在 iOS 18 中,UIKit 经历了显著的改进,专注于提升用户界面的直观性和互动性。最引人注目的是全新的文档启动体验,它为应用提供了更多个性化展示的空间,同时优化了用户的首次文档创建流程。标签栏和侧边栏也经过了重新设计,不仅外观更加紧凑,还增加了新的定制功能,使得内容展示更为突出。强化了 SwiftUI 和 UIKit 之间的互操作性,特别是通过统一手势系统和允许 SwiftUI 动画类型直接应用于 UIKit 视图,极大地丰富了开发者在动画和交互设计上的选项。此外,UIKit 的 Trait 系统现在支持自动特性跟踪,简化了视图更新,提高了应用性能。为了进一步增强用户体验,iOS 18 引入了 UIUpdateLink ,它使得周期性的 UI 更新更为高效,并且通过感官反馈的改进,如对 Apple Pencil Pro 的支持,为 iPad 用户提供了更加丰富的交互反馈。文本编辑也得到了提升,新的文本格式化面板和写作工具为用户提供了更直观的编辑体验。总的来说,iOS 18 的 UIKit 更新为开发者提供了更多创新的工具和 API,以构建更加引人入胜和用户友好的应用界面。
+
+## 新手推荐
+
+### 🐎 [Blend Modes in SwiftUI](https://digitalbunker.dev/blend-modes-in-swiftui/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章详细介绍了 SwiftUI 中的图层混合模式(Blend Modes),展示了如何通过这些模式增强图像的视觉效果。从基础的「正常」模式到复杂的「强光」和「颜色减淡」,每个模式都有详细的计算公式和效果展示。如果你想设计更有吸引力的视觉效果,推荐一读。
+
+## 文章
+
+### 🐕 [Mastering Animatable and AnimatablePair in SwiftUI](https://digitalbunker.dev/mastering-animatable-and-animatablepair-swiftui/)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):在本文中,探索了 SwiftUI 的 Animatable 和 AnimatablePair,并通过 Demo 代码和实际效果举例让大家了解如何使用这些 API 在应用程序中制作更高级的动画。
+
+### 🐎 [Introducing Entry macro in SwiftUI](https://swiftwithmajid.com/2024/07/09/introducing-entry-macro-in-swiftui/)
+
+[@EyreFree](https://github.com/EyreFree):这篇文章介绍了 SwiftUI 中新推出的 `@Entry` 宏,它极大地简化了自定义环境键和聚焦值的创建过程。传统方法需要为每个自定义环境键创建符合 EnvironmentKey 协议的类型,而使用 `@Entry` 宏只需在 EnvironmentValues 的扩展中定义变量即可,大大减少了样板代码。文章通过示例展示了 `@Entry` 宏在环境值和聚焦值中的应用,强调了其简洁性和易用性。`@Entry` 宏不仅适用于环境值,还可用于事务、容器和聚焦值。它是向后兼容的,可以在之前的 Apple 平台版本中使用,为开发者提供了更高效的 SwiftUI 编程体验。
+
+### 🐎 [Create Custom SF Symbols in Sketch ](https://www.danijelavrzan.com/posts/2024/06/create-custom-sf-symbols/)
+
+[@zoeGuo](https://github.com/zoeGuo):SF Symbols 是由苹果公司推出的一套系统图标,这篇文章作者介绍了如何用已有的 SF Symbols 简单修改获得自己想要的自定义 SF Symbols。通过简单的示例说明了怎么导入符号、调试、调整和优化等,操作简单易学,适合想自己做一些简单图标的初学者。
+
+## 代码
+
+### 🐎 [Charts](https://github.com/ChartsOrg/Charts)
+
+[@极速男孩](https://github.com/ztlyyznf001):DGCharts 是为 iOS、tvOS 和 macOS 平台设计的图表库,灵感来源于 Android 的 MPAndroidChart。除了基本的图表类型,如折线图、条形图、散点图和饼图,还支持自定义图表样式、高亮显示、图表交互、动态数据更新等高级功能。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#299-2024.07.29.md b/Reports/2024/#299-2024.07.29.md
new file mode 100644
index 000000000..d6684bc2f
--- /dev/null
+++ b/Reports/2024/#299-2024.07.29.md
@@ -0,0 +1,82 @@
+# 老司机 iOS 周报 #299 | 2024-07-29
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10146 - 为自定义容器视图添加更多的能力](https://xiaozhuanlan.com/topic/9032587461)
+
+[@whf881211](https://github.com/whf881211):该文章介绍了 SwiftUI 新添加的一些用于操控 Subview 的 API。这些 API 令 SwfitUI 的操控 UI 的能力大大增强,让我们可以给自定义容器添加更多灵活性和更强大的能力。
+
+### 🌟 [WWDC24 10198 运行、暂停、检查:探索如何使用 LLDB 进行有效调试](https://xiaozhuanlan.com/topic/0854921673)
+
+[@haochen08](https://github.com/haochen08):本文以 WWDC24-10198 为主线,综合了 WWDC19-24 期间多个和调试主题相关的 Session,向大家介绍如何使用 Xcode IDE 和 LLDB 的最新能力,进行有效和高效的调试。同时还介绍了如何处理使用相关工具碰到的常见问题和一些高级技巧。
+
+## 文章
+
+### 🐎 [SwiftUI Hero Animations with NavigationTransition](https://peterfriese.dev/blog/2024/hero-animation/)
+
+[@xiaofei86](https://github.com/xiaofei86):借助 iOS 18 中 SwiftUI 新引入的 NavigationTransition 协议实现和 App Store 首页卡片展开类似的 Hero 动画只需三行代码。阅读本文,跟着作者一步步复现一模一样的效果,并了解相关的 SwiftUI 新特性。
+
+### 🐕 [Memory consumption when loading UIImage from disk](https://www.avanderlee.com/swiftui/memory-consumption-loading-uiimage-from-disk/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章主要讨论了在使用 SwiftUI 从磁盘加载 UIImage 时遇到的内存消耗问题,并提供了多种解决方案来优化内存使用。通过下面这些要点,读者可以全面了解文章讨论的内存消耗问题、原因、解决方案以及优化建议:
+- 1.内存消耗问题
+ - 问题描述:当使用 UIImage 从磁盘加载大量图片时,内存消耗会迅速增加,特别是当图片频繁切换或数量较多时
+ - 示例场景:文章通过一个包含 200 张壁纸的示例项目,展示了使用 SwiftUI Slider 滑动查看图片时内存消耗增加的问题
+- 2.内存增长原因
+ - 系统缓存机制:使用 UIImage(named:)方法加载图片时,图片会被系统缓存,导致内存占用增加
+ - 代码实现:展示了使用 UIImage(named:)方法的代码示例,并解释了为什么这种方法会导致内存问题
+- 3.解决方案
+ - 避免系统缓存:推荐使用 UIImage(contentsOfFile:)方法加载图片,该方法不会将图片添加到系统缓存中,从而减少内存消耗
+ - 代码优化:通过重写图片加载逻辑,使用 UIImage(contentsOfFile:)替代 UIImage(named:),解决了内存快速增长的问题
+- 4.图像缓存策略
+ - NSCache 使用:对于需要处理或频繁访问的图片,可以使用 NSCache 进行缓存,以提高性能和减少内存浪费
+ - 缓存逻辑:展示了如何使用 NSCache 创建一个简单的图像缓存,并在需要时从缓存中检索或存储处理后的图像
+- 5.性能优化建议
+ - 预处理图像:建议在后台线程预先处理图像(如缩放),以避免在主线程上进行耗时操作,提高应用性能
+ - 预加载策略:可以提前加载即将显示的图片,以减少滑动时的加载延迟
+
+### 🐎 [Exploring SwiftUI: Make SF Symbols Wiggle Wiggle](https://www.rudrank.com/exploring-swiftui-make-sf-symbols-wiggle/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章主要介绍了如何在 SwiftUI 中使用 SF Symbols 的新型摆动(wiggle)动画效果。
+
+### 🐎 [Using SwiftUI in Command Line Tools](https://swifttoolkit.dev/posts/swiftui-meets-command-line)
+
+[@Damien](https://github.com/ZengyiMa):文章介绍了一种创新的方法,使用 SwiftUI 框架在命令行工具中为 iOS 应用图标添加徽章。通过 ImageRenderer 类,SwiftUI 视图可以被导出成图像。文章提供了一个名为 badgeify 的示例工具,它接受命令行参数来指定图标的输入输出路径和徽章文本。badgeify 工具利用 SwiftUI 构建视图,并利用 ImageRenderer 生成最终的带徽章图标图像。尽管在命令行环境中使用 SwiftUI 存在一些限制,比如 Xcode 无法为 SPM 可执行文件生成预览,但文章也提供了一些技巧来优化开发和测试流程。
+
+## 工具
+
+### 🐎 [Enable XcodeLLM on ChinaSKU Mac without disabling SIP](https://github.com/Kyle-Ye/XcodeLLMEligible)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 借助开源 eligibility_util 实现,实现在国行设备不关闭 SIP 的情况下使用 Xcode 16 Beta 的 LLM 功能
+
+## 代码
+
+### 🐎 🌟 [Charts](https://github.com/ChartsOrg/Charts)
+[@水水](https://www.xuyanlan.com/categories/iOS/):Charts 是一个用 Swift 编写的为 iOS 创建图表方面提供各类样式的库,其对标的是在 Android 开发人员中非常受欢迎的 MPAndroidChart 图表库。对于读者来说非常值得参考和收藏。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#300-2024.08.05.md b/Reports/2024/#300-2024.08.05.md
new file mode 100644
index 000000000..0fb25f375
--- /dev/null
+++ b/Reports/2024/#300-2024.08.05.md
@@ -0,0 +1,97 @@
+# 老司机 iOS 周报 #300 | 2024-08-05
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10162 - 多次拍摄保持色彩一致](https://xiaozhuanlan.com/topic/5093124687)
+
+[@bqlin](https://github.com/bqlin):色彩一致性是人类视觉感知的一个特性,看苹果如何软硬件结合,在拍摄上重现该“生理”特性。
+
+### 🌟 [WWDC24 10149 - 在 SwiftUI 中设计窗口](https://xiaozhuanlan.com/topic/9328564107)
+
+[@Rickey](https://github.com/RickeyBoy):Window(窗口) 是承载 App 内容的最重要的容器,尤其是在 macOS 和 VisionOS 平台上更是需要优雅地设计和使用窗口。本文将介绍 Windows 组件,并且基于一个 Demo(BOT-anist)从实战角度进行教学。
+
+## 文章
+
+### 🐎 [Xcode-Kotlin 2.0 Release](https://touchlab.co/xcode-kotlin-2-0)
+
+[@Crazy](https://github.com/jiyan135960):本文是一篇公告,介绍了 Kotlin 的跨平台技术在 Xcode 上取得的巨大进展。Kotlin 的跨平台开发能力已经提供了很长一段时间了,这次,他们带着 xcode-kotlin 2.0 来再次挑战广大开发者的神经。下面是他在 2.0 版本中主要的优化项:
+
+- 极大的提升了 Debugging 的性能(最快可达到之前的五倍)
+- 扩展了每一帧变量的信息
+- 在 Swift, Kotlin, Objective-C 下都可工作
+- 默认支持 List 和 Map 并且后续还会持续更新(例如:StateFlow, Set)
+
+Kotlin 还是延续了它一贯的特点,开源,免费,文章很短,大家可以快速浏览,对新技术有个简单的认知。
+
+### 🐢 [Async await in Swift: The Full Toolkit](https://www.emergetools.com/blog/posts/swift-async-await-the-full-toolkit)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇博客介绍了 Swift 中异步 / 等待(async/await)的完整工具包,包括 async/await 基础语法、Task、Task group、Actors 等多种技术。通过实际示例和理论讲解,展示了这些工具在 Swift 并发编程中的用法和场景。
+
+### 🐎 [Building Swift Executables](https://swifttoolkit.dev/posts/building-swift-executables)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 这篇文章介绍了如何在不同操作系统和架构上构建和分发 Swift 可执行文件。对于使用 Swift 构建 CLI 程序感兴趣的同学建议阅读学习。
+
+### 🐕 [Swift 6 适配的一些体会以及对现状的小吐槽](https://onevcat.com/2024/07/swift-6/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章主要围绕 Swift 6 的迁移体验、并发编程的引入、以及作者对 Swift 语言发展的个人感想进行了详细阐述。
+- 1.Swift 6 迁移体验
+ - 迁移挑战:作者提到 Swift 6 的迁移过程并不顺利,与 Swift 3 的迁移有相似之感,主要是因为并发编程和严格线程安全的引入
+ - 并发编程工具:Swift 6 通过 actor 隔离和 Sendable 标注等工具,试图在编译阶段就解决数据竞争和线程问题
+ - 迁移建议:尽管 Apple 提供了对旧版本的兼容选项,但迁移仍需要大量工作,作者建议新代码可以按 Swift 6 标准编写,老代码则观察后再决定
+
+- 2.并发编程和严格线程安全
+ - 主要任务:迁移过程中的主要任务包括添加 @MainActor、标记 Sendable、以及将回调函数改写成 async 并考虑 Task 的使用
+ - @MainActor 的使用:UI 相关类型默认添加 @MainActor,非主线程调用时需使用 Task 或添加 @MainActor
+ - Sendable 和 @unchecked Sendable:对于非 Sendable 的 class,需要实现线程安全机制,如使用锁或 dispatch queue,但可能导致性能问题
+
+- 3.迁移过程中的具体挑战
+ - 回调和闭包:async 普及前,遗留的 completion handler 代码需要转换为 @Sendable 闭包,但易导致“传染”问题
+ - deinit 问题:deinit 无法被 actor 隔离,导致在 Swift 6 中一些原本可行的代码变得无法书写,需要使用 Task 或 withoutActuallyEscaping 来绕过限制
+
+- 4.Swift 语言的发展和个人感想
+ - 复杂度增加:Swift 从最初的简单到如今包含 Result Builder、Property Wrapper、宏、并发编程等多个复杂特性的编程语言,学习负担加重
+ - 开发者体验:编译速度退化、Xcode 的代码补全和 SwiftUI 预览等开发者体验问题尚未得到显著改善
+ - 未来展望:作者对 Swift 的未来发展持观望态度,认为其重点似乎并未完全放在帮助开发者更快完成 App 上,而是扩展到了 Server Side 和其他操作系统平台
+
+- 5.作者的个人经历和对新人的建议
+ - 十年 Swift 开发者经历:作者回顾了自己从 Swift 发布第一天开始的十年历程,见证了 Swift 的多个重要节点
+ - 对新人的建议:初学者面临的学习负担较重,作者认为新人需要掌握基础语法、值类型和引用类型等基础知识,以及更复杂的宏和 Property Wrapper 等特性
+
+### 🐢 [结合实例深入理解 C++ 对象的内存布局](https://mp.weixin.qq.com/s/pzvI1AEUoz6uWdjlBI2xSQ)
+
+[@老驴](https://weibo.com/u/6090610445):这篇来自腾讯技术工程的文章通过实际案例深入探讨了 C++ 对象的内存布局,包括简单对象、带方法的对象、私有和静态成员、类继承以及虚函数的实现。
+
+通过使用 GDB 调试工具,文章分析了 C++ 对象在内存中的分布情况,揭示了成员变量和方法在内存中的存储方式。其中,作者强调了编译器如何通过对象地址和偏移量来定位成员变量,并讨论了多态实现的底层机制。这篇文章算是一篇 C++ 进阶的文章,有兴趣的同学可以细读。
+
+## 代码
+
+### 🐎 [swift-issue-reporting](https://github.com/pointfreeco/swift-issue-reporting/tree/main)
+
+[@Damien](https://github.com/ZengyiMa): Point-Free 推出了一个名为 Issue Reporting 的新库,它允许开发者以 Xcode 运行时警告、断点、断言等方式报告应用程序和库代码中的问题,并支持测试。这个库提供了 reportIssue 函数来在代码中标记不应发生的问题,并可自定义问题报告方式,包括自定义报告器以发送问题到 OSLog 或外部服务器。此外,在测试环境中,所有报告的问题都会变成测试失败,有助于确保问题代码路径不被执行。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#301-2024.08.12.md b/Reports/2024/#301-2024.08.12.md
new file mode 100644
index 000000000..7cfaeb7b2
--- /dev/null
+++ b/Reports/2024/#301-2024.08.12.md
@@ -0,0 +1,84 @@
+# 老司机 iOS 周报 #301 | 2024-08-12
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10177 - 用 HDR 图片点亮你的 App](https://xiaozhuanlan.com/topic/3465798021)
+
+[@陈震昊](https://github.com/szzxczh1996):本文首先简要阐述了 HDR 相关的基本概念,例如 reference white、headroom 以及 tone mapping,然后回顾了苹果以往建立的 HDR 标准以及 HDR 渲染技术,最后重点介绍了今年新推出的 Adaptive HDR 标准以及在该标准下,如何对 HDR 图片进行读写、编辑和展示。
+
+### 🌟 [WWDC24 10073 - 提升 SwiftUI 的可访问性体验](https://xiaozhuanlan.com/topic/7683249501)
+
+[@Jason](https://github.com/pujiaxin33):深入了解 SwiftUI 如何提供开箱即用的内置 Accessibility,以及如何使用工具来完善和打造你的应用程序的 Accessibility。
+
+## 新闻
+
+### [‘ You are a helpful mail assistant, ’ and other Apple Intelligence instructions](https://www.theverge.com/2024/8/5/24213861/apple-intelligence-instructions-macos-15-1-sequoia-beta)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):在 macOS Sequoia 15.1 开发者测试版中,有用户发现了一些包含人工智能后台提示的 JSON 文件,并分享了如何找到这些文件的方法。这些文件揭示了苹果 AI 工具在接收到用户提示之前所接收到的隐藏指令。这些指令为 AI 工具提供了如何响应用户输入的指南,例如邮件助手如何基于邮件内容提问,以及如何生成“回忆”视频等。此外,还提到了一些具体的指令要求,如限制字数、不捏造事实信息等。同时,本文也提醒用户在探索这些系统文件时要谨慎行事,因为它们涉及系统敏感信息。
+
+## 文章
+
+### 🐕 [SwiftUI app lifecycle: issues with ScenePhase and using AppDelegate adaptors](https://www.jessesquires.com/blog/2024/06/29/swiftui-scene-phase/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章入剖析了 SwiftUI 的 `ScenePhase` API,并指出了它在跨平台应用生命周期管理上的局限性。文章建议,为了更细致地控制应用生命周期,应该扩展 `ScenePhase` 或引入新的 `AppPhase` API。同时,作者发现在 macOS 上,依赖 `ScenePhase` 不如直接使用 `NSApplicationDelegate` 来得可靠。为开发者在构建跨平台应用时提供了宝贵的见解。
+
+### 🐎 [Swift Protocol 背后的故事(理论)](https://zxfcumtcs.github.io/2022/02/04/SwiftProtocol2/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者从原理上解析了在 Swift 中 Protocol 是如何实现的。Swift runtime 为每个类型都生成了类型元信息(Type Metadata),不同类型的元信息的共同特点是都包含了 VWT、Kind。Class、Struct 的实例上通过 Existential Container 模型来指导 Protocol 变量布局内存,非类约束的 Protocol,会在此模型中通过 type 指向真实类型的元信息,类约束的 Protocol 因为类的实例中已包含了类的元信息,故此模型中不再包含。而泛型在无约束、类约束或者 Protocol 约束的情况下表现均有不同,并在特定条件下特化,改为静态派送来提升性能。感兴趣的读者可以阅读本文,了解更细节的知识。
+
+### 🐕 [轻踩一下就崩溃吗——踩内存案例分析](https://mp.weixin.qq.com/s/9OCFb2cH-H5zbaIT5VAS9w)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文探讨了内存踩踏问题的现象、成因及解决方案,结合具体案例和代码示例,详细解析了全局符号介入和编译参数不一致引发的内存错误。主要通过四个章节进行了分析,分别是:
+- 踩内存问题分析成本高,需要借助专业的调试工具和方法
+- 即使代码逻辑本身没有问题,全局符号介入机制也可能导致内存越界
+- 编译参数不一致会引发内存踩踏崩溃
+- 工程标准化,能够有效减少踩内存等问题的发生
+
+### 🐎 [Zoom transitions](https://douglashill.co/zoom-transitions/)
+
+[@极速男孩](https://github.com/ztlyyznf001/):这篇文章主要介绍了如何在 iOS 18 SDK 中分别用 SwiftUI 和 UIKit 使用缩放过渡。作者通过具体的代码示例展示了如何在不同的场景中实现缩放动画,比如从一个列表项缩放到一个全屏的详细视图。此外,文章还讨论了如何优化源视图和目标视图的选择,以确保过渡动画的自然和流畅。
+
+## 工具
+
+### 🌟🌟🌟 [Cursor: The AI Code Editor](https://www.cursor.com/)
+
+[@kemchenj](https://kemchenj.github.io/):Cursor 是基于 VSCode 的一个 AI 编辑器,实际使用比起 VSCode+Copilot 体验好上不少。使用 Cursor 只需要会用两个快捷键:
+
+- CMD+k,单文件编辑,选中你要修改的代码,告诉他需要修改的内容,还能贴 UI 图
+- CMD+i,多文件编辑,直接按快捷键,然后按 + 号指定改动的文件,告诉他需要修改的内容
+
+然后站起来走两步,拿起杯子喝口水,看着他把代码写好,健康编程从此刻开始!!!
+
+## 音视频
+
+### 🐢 [Embedded Swift Tutorial - Getting Started (Everything you need to know)](https://blog.supereasyapps.com/embedded-swift-tutorial-getting-started-everything-you-need-to-know/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 一篇关于 Embedded Swift 的详细教程,对嵌入式 + Swift 方向感兴趣的可以观看。目前 Embedded Swift 还处于较早期的玩具阶段,期待后续搭配 HomeKit/Matter 生态的进一步发展。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#302-2024.08.19.md b/Reports/2024/#302-2024.08.19.md
new file mode 100644
index 000000000..d6157fdaa
--- /dev/null
+++ b/Reports/2024/#302-2024.08.19.md
@@ -0,0 +1,70 @@
+# 老司机 iOS 周报 #302 | 2024-08-19
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐕 [NFC & SE Platform for Secure Contactless Transactions - Support - Apple Developer](https://developer.apple.com/support/nfc-se-platform/)
+
+[@Barney](https://github.com/BarneyZhaoooo):苹果即将在 iOS 18.1 中引入 NFC & SE 平台,让开发者能在 iOS 应用中实现安全便捷的无接触支付等功能。开发者得先跟苹果签个协议,确保他们遵守行业规则和保护用户隐私。新系统要求 iPhone XS 或更新机型,运行 iOS 18.1 或更高版本。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10125 - 自动化创建 Passkey 和全新密码 App 帮助简化登录流程,并提升安全性](https://xiaozhuanlan.com/topic/6145027938)
+
+[@米广](https://github.com/yz06276):即刻起开始部署更加简单易用,更加安全的 Passkey。
+
+### 🌟 [WWDC24 10100 - ARKit 新功能介绍](https://xiaozhuanlan.com/topic/1830462795)
+
+[@lijingpei](https://github.com/lijingpei2016):本文介绍了 2024 年 ARKit 的新增内容。
+
+## 文章
+
+### 🐎 [Swift Navigation: Powerful navigation tools for all Swift platforms](https://www.pointfree.co/blog/posts/149-swift-navigation-powerful-navigation-tools-for-all-swift-platforms)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了一个新的导航用开源库 Swift Navigation。这个库适用于 SwiftUI、UIKit、AppKit 以及其他一系列非苹果的平台上。它整体沿用了 SwiftUI 的导航思想,通过一些宏的封装和枚举的使用,使开发者能够更简洁的进行导航的管理。同时在 UIKit 等非 SwiftUI 的框架下,它也提供了视图和数据的绑定能力,让开发者能够在数据更新时及时更新视图。
+
+### 🐕 [Non-Sendable types are cool too you know ](https://www.massicotte.org/non-sendable)
+
+[@zoeGuo](https://github.com/zoeGuo):本文深入探讨了 Swift 语言中的并发特性:`Sendable` 和 `non-Sendable` 类型的使用,提出二者在多线程编程安全中的重要作用,以及它们在处理线程安全和协议一致性方面具有各自的优势。文章通过实例分析了 `non-Sendable` 类型在异步函数中的应用,并提出了使用隔离参数的解决方案,使得这些类型在并发环境中更加灵活。最终,作者鼓励开发者充分利用 `non-Sendable` 类型,以提高代码的线程安全和并发性能。
+
+### 🐕 [Diffuse reflection UV computation tool](https://www.elkraneo.com/diffuse-reflection-uv-computation-tool/)
+
+[@BluesJiang](https://github.com/BluesJiang):本文介绍了苹果在 Vision Pro 中的观影模式下环境对屏幕内容的反射效果的实现方式。今年苹果在 WWDC24 上开放了这个效果给开发者们使用,本文就是介绍了相关的工具和使用。想要实现这种反射效果,苹果给了一个 python 脚本来我们计算 Emitter UV 以及 Attenuation UV,并且简单的介绍了原理。这个工具可以实现任何物体类型投射的光线都可以在预定的位置快速计算其反射的效果。在 Reality Composer Pro 上使用这两种 UV 就可以把反射 UV 应用到场景上。这种实现方式也给我们自研引擎的开发者们提供了一种新的思路。
+
+### 🐎 [Exploring OpenAI: Creating a Proxy with AIProxy for iOS and macOS Apps](https://www.rudrank.com/exploring-openai-creating-a-proxy-with-aiproxy/)
+
+[@EyreFree](https://github.com/EyreFree):这篇文章介绍了作者使用 AIProxy 服务来保护 OpenAI API 密钥的经验。AIProxy 通过加密和分割 API 密钥提高安全性,并使用 DeviceCheck 框架防止未授权访问。文章详细讲解了 AIProxy 的工作原理、安全措施及在 iOS 和 macOS 应用中的实施步骤。作者展示了如何在 Swift 项目中集成 AIProxy,包括设置依赖、创建服务实例和发送 API 请求。文章还讨论了优化系统提示以控制 API 调用成本,以及使用 AIProxy 仪表板监控请求情况。有需要的同学不要错过。
+
+### 🐎 [Concurrency Step-by-Step: A Network Request](https://www.massicotte.org/step-by-step-network-request)
+
+[@Smallfly](https://github.com/iostalks):本文是一篇 SwiftUI 并发编程教程,通过一个网络请求示例,讲解了如何使用 GCD 和 `async/await` 进行线程安全的操作。文章强调了区分 I/O 和 CPU 密集型任务的重要性,并介绍了 `nonisolated` 关键字的使用,以避免在非主线程上操作 UI 状态。建议读者从基础学起,逐步深入 Swift 并发编程。
+
+### 🐕 [Migrating KeyboardKit to Swift 6 language mode](https://douglashill.co/keyboardkit-swift-6/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章介绍了将 KeyboardKit 更新到 Swift 6 的一些迁移经验,将 KeyboardKit 实现了完全的数据竞争安全性。KeyboardKit 是一个键盘控制的开源框架,作者在迁移过程中遇到了一些有趣的问题,包括 UIViewController 子类无法使用无参数的初始化方法、全局常量被错误地隔离等。这些变化对使用 KeyboardKit 的开发者没有影响,但如果感兴趣,可以查看最新版本的 KeyboardKit。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#303-2024.08.26.md b/Reports/2024/#303-2024.08.26.md
new file mode 100644
index 000000000..9be9f7595
--- /dev/null
+++ b/Reports/2024/#303-2024.08.26.md
@@ -0,0 +1,61 @@
+# 老司机 iOS 周报 #303 | 2024-08-26
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [CocoaPods 官宣进入维护模式](https://blog.cocoapods.org/CocoaPods-Support-Plans/)
+
+CocoaPods 的生命走入倒计时,后续将在某个时间节点将 Specs repo 设置为 read-only,一个时代结束了。感谢开源社区的作者们提供了这么好用的依赖工具。对于国内的开发者来说,在 SPM 能满足大家需求前,可以考虑在内网建立私有 Specs repo 以及定制 Cocoapods 功能以持续迭代。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10173 - Analyze Heap Memory](https://xiaozhuanlan.com/topic/9307481265)
+
+[@iPhreetom](https://github.com/iPhreetom):新手级的 iOS 内存分析入门文章,通过学习 MemoryGraph 和 Allocations 的使用,帮助你在开发中更好的解决内存问题。
+
+## 文章
+
+### 🐕 [Reminder: Conditional Breakpoints are Slow](https://twocentstudios.com/2024/08/08/conditional-breakpoints/)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):这篇文章作者分享了一个有趣的调试故事,为了排查调试项目时发现的不合理的延迟,尝试了禁用调试器、深入了解 GRDB、代码验证等手段,花了数个小时跨越几周的时间,最终发现其实是 LLDB 中的条件断点会增加明显的执行延迟问题。能发现并解决问题总是一个令人愉快的体验,相信读者也有一样的体会,感兴趣的可以看看这个故事。
+
+### 🐕 [Issue with AVAsset access in iOS 18 beta | Apple Developer Forums](https://forums.developer.apple.com/forums/thread/758691)
+
+[@Barney](https://github.com/BarneyZhaoooo):在 iOS 18 中,直接通过硬编码路径访问 AVAsset 会引发权限错误。Apple 技术支持 Quinn 指出,应用应使用 PhotoKit API 来安全地访问和处理用户的照片库,以符合 iOS 的沙盒机制。
+
+### 🐕 [How to automatically detect memory leaks on CI/CD using UI tests](https://www.polpiella.dev/automatically-detect-memory-leaks-using-ui-tests/)
+
+[@莲叔](https://aaaron7.github.io/):内存泄露一直都是 iOS 开发者头疼的问题,并且绝大多数情况都会比较隐蔽,无法简单的被发现。这篇文章介绍了一种结合 UI test 来挖掘内存泄露的方式,通过使用 xcodebuild 新的 enablePerformanceTestsDiagnostics 特性,在 UI test 过程中能自动生成 memory graph 的报告,作者还给出了通过 Swift 来解析内存报告和判断内存泄露的案例,这样就能够自动化的去测试用户在使用 App 的过程中是否有内存泄露。整体来说提出了一种新的解决泄露的思路,并且给出了可落地的方案参考。
+
+
+## 代码
+
+### 🐎 [swift-translate](https://github.com/hidden-spectrum/swift-translate)
+
+[@DylanYang](https://github.com/Dylan19Yang):一个帮助开发者快速完成字符串本地化翻译的工具,支持通过 ChatGPT 或者 Google Translate 进行翻译。目前源语言必须是英语,同时项目还在早期阶段,可能存在部分翻译不准确、漏翻等情况,使用者需要自行关注。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#304-2024.09.02.md b/Reports/2024/#304-2024.09.02.md
new file mode 100644
index 000000000..b691d2400
--- /dev/null
+++ b/Reports/2024/#304-2024.09.02.md
@@ -0,0 +1,68 @@
+# 老司机 iOS 周报 #304 | 2024-09-02
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+
+## 文章
+
+### 🐕 [JSON Parsing in Swift explained with code examples](https://www.avanderlee.com/swift/json-parsing-decoding/)
+
+[@zoeGuo](https://github.com/zoeGuo):解析 JSON 是我们在编码中常处理的问题,文章介绍了在 Swift 编码中不使用外部依赖解析 JSON。作者示例说明了如何使用 `Decodable` 协议来轻松解码 JSON,如何通过自定义映射将 JSON 关键字映射到 Swift 属性名,以及如何转换驼峰命名法和蛇形命名法,示例了如何使用自定义日期格式解码 JSON 中的日期。作者还提供了利用 AI 将 JSON 转换为 Swift 结构体的 prompt,一个以美观的格式打印 JSON 的扩展。这篇文章详细介绍了 Swift 中 JSON 解码的各个方面。
+
+### 🐕 [SwiftUI for Mac 2024](https://troz.net/post/2024/swiftui-mac-2024/)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):这篇文章列举了系列示例代码来展示 WWDC 2023 和 WWDC 2024 中 SwiftUI 在 MacOS 应用程序上更新的新功能,主要包含了以下方面的内容:
+
+- Xcode
+- Previews
+- Windows
+- Tabs
+- Charts
+- Colors and Gradients
+- SF Symbols
+
+### 🐢 [Flutter Web 正式官宣弃用 HTML renderer , Canvas 路线成为唯一](https://mp.weixin.qq.com/s/FdRMQGcZU5BDOI2N0EksiQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter Web 一直是 Flutter 团队努力攻克的一个方向 , 最初 HTML renderer 的路线最近被团队所抛弃 , 采用 CanvasKit 结合 WASM 方式;本文讲述了 Flutter Web 在 HTML renderer 到 CanvasKit 上的取舍和对比 , 可以让我们更深度的了解为何 CanvasKit 成为了唯一路线.
+
+### 🐎 [Investigating a Dynamic Linking Crash with Xcode 16](https://pspdfkit.com/blog/2024/dynamic-linking-crash-xcode-16/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章作者介绍了 Xcode 16 beta 导致 PSPDFKit 在 iOS 上启动崩溃的问题。该问题与动态链接 `sqlite3_threadsafe` 有关。调查发现,Xcode 的线程性能检查器默认启用,会导致 `libRPAC.dylib` 错误解析 SQLite 符号。解决方案是禁用该工具或更新 PSPDFKit 至 13.7 版本,后者允许 `libRPAC.dylib` 和 `libsqlite3.dylib` 共存,以防止崩溃。
+
+### 🐎 [Swift Build Times and Module Verification …](https://pfandrade.me/blog/swift-build-times-and-module-verification/)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章讲述了开发 Secrets 4 时遇到的构建时间变慢的问题。作者将 Secrets 4 重构为 36 个框架,结果发现构建时间逐渐增加。主要原因是启用了 Xcode 的模块验证功能(ENABLE_MODULE_VERIFIER),该功能在构建时检查各种模块问题,虽然对框架分发有帮助,但在调试时会显著拖慢速度。作者决定在调试构建中禁用该功能,结果构建时间从 3.5 分钟减少到 52 秒。此举大大提高了开发效率,也提醒开发者定期检查构建时间以优化开发流程,这对于优化 Swift 工程的编译效率有不错的参考意义。
+
+### 🐕 [JavaScript to Swift and back: Bridging location services in WKWebView](https://swiftlybald.com/javascript-to-swift-and-back-bridging-location-services-in-wkwebview/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章主要解决 WKWebView 访问地理位置权限,会触发两次位置授权弹窗(APP 授权 与 特定网页授权)的问题。解决方案主要是通过拦截来自浏览器的位置服务请求,在 iOS 中本地处理它们,然后在位置相关工作完成后将控制权交还给浏览器。如果你的 APP 有类似的体验问题,可以参考文章的实现原理进行优化。
+
+### 🐎 [Send data Between iOS Apps and Extensions Using Darwin Notifications](https://ohmyswift.com/blog/2024/08/27/send-data-between-ios-apps-and-extensions-using-darwin-notifications/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了一种用于进程间通信的方式。在 App 内通知是一种通信的常用的手段,而有一种特殊的通知可用于进程间的通信 ———— Darwin Notifications。通常谈到进程间通信,我们会想到 Userdefaults 或者 Keychain,但是从作者看来 Darwin Notifications 会是一种更合适的方式,不过它有一个缺点是无法携带额外的信息(类似 userInfo)。作者展示了一个简单的 demo 来说明如何使用,感兴趣的读者可以阅读本文学习一下。
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#305-2024.09.09.md b/Reports/2024/#305-2024.09.09.md
new file mode 100644
index 000000000..57ba318b6
--- /dev/null
+++ b/Reports/2024/#305-2024.09.09.md
@@ -0,0 +1,60 @@
+# 老司机 iOS 周报 #305 | 2024-09-09
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC24 内参
+
+### 🌟 [WWDC24 10151 - SwiftUI 过渡效果篇](https://xiaozhuanlan.com/topic/8321460975)
+
+[@zdd](https://github.com/zddhub):本文将介绍 SwiftUI 实现过渡效果的两种方式:AnyTransition 和 Transition。并逐步剖析自定义 SwiftUI 过渡效果的步骤和注意事项,最后通过多个示例展示视觉、着色器、颜色、文字、滚动和导航等不同类型过渡效果的应用,旨在启发读者创建令人印象深刻的过渡效果。
+
+## 文章
+
+### 🐕 [Backport SwiftUI modifiers](https://alejandromp.com/development/blog/backport-swiftui-modifiers/)
+
+[@AidenRao](https://weibo.com/AidenRao):SwiftUI 每年都会更新新的修饰符,但我们往往需要等待用户更新到修饰符支持的最低版本,才能享受这些新功能。本篇作者分享了一些技巧和方法,帮助开发者在较旧的 Swift UI 环境中使用新的 SwiftUI 修饰符,在确保旧版本用户体验不变的情况下,面向未来做开发,毫无问题地使用新版本 API。实现原理主要是检查操作系统版本,并在可用时调用 SwiftUI 函数,在不可用时回退到其他函数。
+
+### 🐢 [抄 Apple Intelligence 作业的思路](https://juejin.cn/post/7407385581079396389)
+
+[@Cooper Chen](https://github.com/cjlcooper):近年来,AI 领域迅猛发展,模型规模和性能不断提升,而这是一篇对端上智能或者说 LLM 总结和思考的文章,作者从三个大的方面对当前 Apple Intelligence 的诞生、现状以及展望做了非常详尽的分析,其核心的观点大致可以总结为:
+- 以技术为基石的应用更要对技术诚实,LLM 幻觉和推理能力不足可以采用移交控制 / 验证和主动治理 / 约束策略
+- 并不是所有 AI 都需要以 AGI 为目标,提升现有产品的核心体验 / 收益也可以作为投入目标
+- 借助 LLM 实现跨 domain 交互在技术上可行,但不同 domain 有不同的商业模式考量
+
+对于不仅是 AI 相关行业的开发,甚至对于各平台的开发来说都有非常大的参考价值,值得反复的阅读和思考。
+
+### 🐎 [Dogfooding Emerge Tools: Open-sourcing an Android Hacker News App](https://www.emergetools.com/blog/posts/open-sourcing-emerge-tools-hackernews-app)
+
+[@Crazy](https://github.com/jiyan135960):关于 Hacker News 的 App 有很多,这次是由 Emerge 团队开发的一款 Hacker News 阅读器。Emerge 团队开发了很多关于应用性能优化与分析的工具,他们在移动应用领域有着深厚的背景。这款新的 Hacker News App 正是使用了他们自己开发的诸多工具来完成的具体实践,这些工具可以让开发者在开发的过程中发现一些错误,并且有自动去除 dead code 等功能。开发者也可借鉴他们的开源代码来使用 Emerge 团队的开发工具,大大简化了开发者从开发到上架的实施难度。
+
+
+## 音视频
+
+### 🐢 [Cross-Platform Swift: View Paradigms](https://www.pointfree.co/episodes/ep290-cross-platform-swift-view-paradigms) & [Cross-Platform Swift: WebAssembly](https://www.pointfree.co/episodes/ep291-cross-platform-swift-webassembly)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye):本系列视频探讨了如何通过合理的领域建模,将同一套功能集无缝地应用于不同的视图范式和跨平台环境中(UIKit/SwiftUI/WebAssembly),对 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)
diff --git a/Reports/2024/#306-2024.09.23.md b/Reports/2024/#306-2024.09.23.md
new file mode 100644
index 000000000..ff5c95e83
--- /dev/null
+++ b/Reports/2024/#306-2024.09.23.md
@@ -0,0 +1,67 @@
+# 老司机 iOS 周报 #306 | 2024-09-23
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐢 [Xcode Folders & Groups](https://troz.net/post/2024/xcode_folders_groups/)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Xcode 15 到 Xcode 16 有不少变化,本文就 Folders & Groups 相关变化做了一些比较,比如 : 添加文件,创建 Group 等;最终作者也给出了一些总结性的建议,如果有不习惯新组织形式的小伙伴依然可以保持 15 时候的形式.
+
+### 🐢 [COW2LLVM: The isKnownUniquelyReferenced Deep-Dive](https://jacobbartlett.substack.com/p/cow2llvm-the-isknownuniquelyreferenced)
+
+[@Cooper Chen](https://github.com/cjlcooper):Swift 编译器中的 copy-on-write(CoW)优化了 Swift 结构体,结合了值语义和引用语义。它将数据存储在堆内存中,允许通过轻量级指针高效复制,同时确保在数据更改时触发值语义。这种技术被 Swift 的标准类型(如 Array 和 String)所采用。这篇文章深入探讨了 Swift 编译器中的 CoW 优化,文章将带领读者探索 Swift 编译器的源代码,揭示 CoW 的工作原理,旨在让读者对这一复杂的机制有更深入的理解。
+
+### 🐕 [SwiftUI's Observable macro is not a drop-in replacement for ObservableObject](https://www.jessesquires.com/blog/2024/09/09/swift-observable-macro/)
+
+[@Barney](https://github.com/BarneyZhaoooo):文章指出 SwiftUI 的 `@Observable` 宏并非 `ObservableObject` 的完美替代。主要区别在于初始化行为: `@StateObject` 仅初始化一次,而 `@State` 每次视图重建时都会重新初始化。这可能导致意外行为,建议将全局状态放在 `App` 结构中以避免问题。
+
+### 🐢 [我是怎么做个人知识管理(PKM)的](https://starming.com/2024/09/12/my-pkm/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章概述了作者个人知识管理(PKM)的历程与心得,从早期使用备忘录、Evernote 等工具,到探索 Bear、Notion、Obsidian 等结构化笔记应用,作者经历了从信息囤积到注重信息消化的转变,最终采用卢曼卡片盒笔记法,通过闪念笔记、文献笔记、永久笔记等形式,建立笔记间的关联,形成知识网络。同时,结合 P.A.R.A 框架优化管理流程,并引入费曼学习法、CODE 方法论等工具促进知识内化。作者强调工具与方法的选择应基于个人需求,且写作是知识管理的重要产出形式。整篇文章为读者提供了关于如何高效管理和利用信息的实用指南。
+
+## 工具
+
+### [swift-export](https://swiftpackageindex.com/franklefebvre/swift-export)
+
+[@Smallfly](https://github.com/iostalks):swift-export 是一款命令行工具,用于在 macOS 上更容易地签名和公证可执行包。这可以帮助开发者简化在 macOS 上分发应用程序时的安全和合规性流程。具体来说,它包括以下功能:
+
+- **签名**:为应用程序添加数字签名,这是 macOS 应用程序分发的一个要求,以确保应用程序的来源和完整性。
+- **公证**:将应用程序提交给 Apple 进行公证,这是 macOS Catalina 及更高版本中的一项新要求,用于确保应用程序在启动时不会损害用户的安全。
+
+这个工具对于需要频繁构建和分发 macOS 应用程序的开发者来说非常有用。
+
+## 代码
+
+### [HandVector 2.0 版本更新](https://juejin.cn/post/7408086889591390262)
+
+[@BluesJiang](https://github.com/BluesJiang):这个之前推荐过的开源库又迎来的大的更新,新增了 HandleShape 的 API,给不同手的不同形态给出了具象化的分类,可以更语义化的了解目前手势的情况,如手掌弯曲了多少、手指捏合了多少、手指弯曲了多少等。有利于开发快速调整以寻找合适的手势匹配参数,而不是像之前录制手势那样必须完全精准的重现手势才能达成目的。对手势交互依赖比较重的应用可以考虑升级和使用。
+
+### 🐎 [Hummingbird 2](https://forums.swift.org/t/hummingbird-2/74535)
+
+[@DylanYang](https://github.com/Dylan19Yang):Hummingbird 是一个用 Swift 编写的轻量又灵活的后端框架,它包含了路由、请求和结果处理、编解码等诸多能力。它最近发布了新版本 Hummingbird 2,代码整体基于 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)
diff --git a/Reports/2024/#307-2024.09.30.md b/Reports/2024/#307-2024.09.30.md
new file mode 100644
index 000000000..a42859fcb
--- /dev/null
+++ b/Reports/2024/#307-2024.09.30.md
@@ -0,0 +1,73 @@
+# 老司机 iOS 周报 #307 | 2024-09-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+提前祝大家国庆快乐,我们下一期周报会在 10 月中旬与大家见面。
+
+## 文章
+
+### 🌟 🐢 [在 Swift 中如何正确传递 Unsafe Pointers 参数](https://mp.weixin.qq.com/s/xDeZ6zM7-6RfPXrs5kCqWw)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 文章总结了作者在抖音推动规模化落地 Swift 组件中发现的一些常见 Unsafe Pointers 问题。通过具体的工程例子和编译器代码分析给出了具体原因。
+
+### [为超越 JVM 而生?深入理解 Kotlin Native 的梦想与可能](https://mp.weixin.qq.com/s/oo7YTnW4oL1xq17cNPGhnw)
+
+[@JonyFang](https://github.com/JonyFang): Kotlin Native 是 Kotlin 多平台生态的关键一环。本文依据 Kotlin Native 的源码,结合作者在运用 Kotlin Native 开发多平台应用的实战经验,详细为大家解读 Kotlin Native 在编译时和运行时的实现细节和实践技巧。作为 Kotlin 多平台生态的重要一环,Kotlin Native 不再依赖其他运行环境,同时也能保持与其他平台一致的开发体验。
+
+### 🐎 [Freeing disk space on GitHub Actions runners](https://www.dzombak.com/blog/2024/09/Freeing-disk-space-on-GitHub-Actions-runners.html)
+
+[@J_Knight_](https://github.com/knightsj):本文分享了可以清理 GitHub Actions 的运行器所在的服务器的内存空间的脚本代码,以用来防止在执行 GitHub Actions 工作流的时候遇到内存不足的问题。
+
+### 🐕 [SwiftData: Solving Fatal Errors and EXC_BAD_ACCESS While Handling Entities on Different Threads](https://www.simplykyra.com/blog/swiftdata-solving-fatal-errors-and-exc_bad_access-while-handling-entities-on-different-threads/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇博客介绍了在处理不同线程上的 Entities 时如何解决 SwiftData 中的异常崩溃。通过示例代码和步骤,作者展示了如何有效解决这些错误,希望能帮助读者解决类似问题。
+
+ ### 🐎 [Exploring SwiftUI: Creating a Custom Slider Inspired By Camera Control](https://www.rudrank.com/exploring-swiftui-creating-a-custom-slider-inspired-by-camera-control/)
+
+[@zoeGuo](https://github.com/zoeGuo):文章是作者在看到 iPhone16 上相机控制的丝滑交互动效后收到启发,自己用 SwiftUI 实现了一套类似的动画流畅、并且有交互反馈的 slider 控件。作者在文中介绍了设计和实现的思路,并最终应用在自己的上线 App 中的过程。
+
+### 🐎 [Point-Free is Xcode 16 ready](https://www.pointfree.co/blog/posts/152-point-free-is-xcode-16-ready)
+
+[@极速男孩](https://github.com/ztlyyznf001): Point-Free 更新了开源库,以支持 Swift 6.0 和 Xcode 16,同时保持对旧版 Swift 和 Apple 平台的兼容性。此次更新特别强化了并发安全性,Dependencies 库通过使用 TaskLocal 实现了无警告编译,减少了不安全并发操作。Composable Architecture 库的 Store 现已完全在主线程上执行,确保了线程安全。此外还兼容 Swift 的新测试框架,同时继续支持 XCTest,帮助开发者平稳过渡。这些改进均保持向后兼容,开发者无需担心破坏性变更。
+
+## 代码
+
+### [ChatMLX](https://github.com/maiqingqiang/ChatMLX)
+
+[@EyreFree](https://github.com/EyreFree):ChatMLX 是一款面向 macOS 的开源聊天应用,基于大型语言模型 LLM 和 Apple silicon 芯片设计。其主要特点包括:
+
+- 多语言支持:兼容英文、中文(简 / 繁)、日文和韩文,满足多元用户需求;
+- 多模型集成:支持 Llama、OpenELM、Phi、Qwen 等多个 LLM 模型,为用户提供丰富的对话选择;
+- 高性能表现:充分利用 MLX 框架和 Apple silicon 芯片的优势,实现快速响应;
+- 隐私保护:通过本地运行 LLM,确保用户数据安全。
+
+项目完全开源,使用 Swift 语言开发,结合 SwiftUI 构建用户界面,展示了 Swift 在 AI 应用开发领域的潜力。对 Apple 开发者而言,ChatMLX 提供了一个学习 AI 技术与原生应用融合的范例。
+
+### [VisionOS 30 天学习计划](https://github.com/satoshi0212/visionOS_30Days)
+
+[@BluesJiang](https://github.com/bluesjiang):这个计划目前有两个版本:[visionOS 1.0](https://github.com/satoshi0212/visionOS_30Days) 以及 [visionOS 2.0](https://github.com/satoshi0212/visionOS_2_30Days) 版本。这里面可以找到大部分 visionOS 特性相关的示例代码,可以快速尝试 visionOS 上的独特的特性。十分推荐都看一遍,可以帮组你快速上手 visionOS 。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#308-2024.10.21.md b/Reports/2024/#308-2024.10.21.md
new file mode 100644
index 000000000..679218248
--- /dev/null
+++ b/Reports/2024/#308-2024.10.21.md
@@ -0,0 +1,86 @@
+# 老司机 iOS 周报 #308 | 2024-10-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### Xcode 16 + withCheckedContinuation 崩溃
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 如果你的 App 在近期适配了 iOS 18 SDK 并切换到了 Xcode 16 打包,在 App 崩溃监控可能会发现部分 withCheckedContinuation 崩溃。
+
+这里目前上游总结了两个问题:
+- @backDeploy 实现修复,只影响 iOS app on macOS,被 #76218 修复在 Swift 6.0.1 上了(还没有相关正式版 Xcode 版本)
+ - 如果你的 App 有大量 iOS app on macOS 用户,可以等后续新 Xcode 版本放出后再升级 Xcode 16 系列,[社区总结的临时解决方案](https://github.com/RevenueCat/purchases-ios/issues/4177)是全部切换为 withCheckedThrowingContinuation 变体
+- 因为 iOS 18 Beta 上的 ABI 变更导致的 crash。这个 Apple 员工认为符合预期,且在最终的正式版 18.0 上不会有问题。但仍会影响 iOS 18.0 Beta 和部分 iOS 18.1 Beta。
+ - 如果你的 App 有大量使用 Beta 系统的用户(>1%),建议也可以暂时延缓升级 Xcode 16.0 。
+
+详细解释可以参考这篇 [Apple 员工回复](https://github.com/swiftlang/swift/pull/76218#issuecomment-2377064768)。
+
+## 文章
+
+### 🐕 🌟 [二刷 iOS 性能与编译,简单点说](https://mp.weixin.qq.com/s/X96VdTsskmNVCoqMzZjbgg)
+
+[@Leo](https://github.com/leomobiledeveloper):这篇文章是性能和编译相关的优质好文,文章内容覆盖了卡顿、内存、IO、CPU、启动、Bazel、构建等多个领域,每个领域下通过实践中遇到的问题展开,并给出了充分的代码示例,对想了解性能优化和编译构建领域的同学会很有帮助,推荐阅读。
+
+### 🐎 [AVAudioEffectNode: painless low level audio effects written in Swift](https://orjpap.github.io/swift/low-level/audio/avfoundation/2024/09/19/avAudioEffectNode.html)
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了 AVAudioEffectNode 的概念和用法,包括应用音频效果、创建自定义音效处理节点以及与其他音频节点的连接方法。作者提供了代码示例,展示如何配置和使用 AVAudioEffectNode,以便开发者可以在实时音频处理中轻松添加各种效果,如混响和延迟。通过这些实践,开发者能够增强音频应用的表现力和互动性。
+
+### 🐎 [Copy On Write and the Swift-CowBox Macro](https://swifttoolkit.dev/posts/copy-on-write-cowbox)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 一篇关于 Swift Copy on Write 和 Swift-CowBox 原理分析的文章,并给出了 Swift-CowBox 的性能评测。
+
+### 🐕 [Security-scoped bookmarks for URL access](https://www.avanderlee.com/swift/security-scoped-bookmarks-for-url-access/)
+
+[@水水](https://www.xuyanlan.com/categories/iOS/):本文介绍了 Security-scoped Bookmarks (Mac OS 上的安全区域书签)的在 URL 访问上的作用、使用范围和使用示例、以及使用时发现的一个由于 “ ScopedBookmarksAgent ” 引起的应用挂起的问题 ,虽然苹果已经在 macOS 15.1 beta 4 中修复,但是作者也提供了一个解决方案。 如果您有在 Mac 应用上存储给定 URL 资源的权限、并在后续使用中重新获得访问权限,可以使用安全区域书签功能来实现。
+
+### 🐎 [Discover 3 new features of Xcode 16](https://www.swiftwithvincent.com/blog/discover-3-new-features-of-xcode-16)
+
+[@zoeGuo](https://github.com/zoeGuo):文章介绍了 Xcode 16 的三个新功能:新增“新建空文件”操作简化文件创建流程、支持直接粘贴代码块到项目导航器自动生成新文件;Asset Catalogs 新增查找引用功能,便于清理未使用资源;调试器推出 Backtrace 视图,优化堆栈跟踪的查看体验。
+
+### 🐎 [Are Android apps THAT much smaller than iOS?](https://www.emergetools.com/blog/posts/are-android-apps-really-that-much-smaller-than-ios)
+
+[@Crazy](https://github.com/jiyan135960):本文是一篇对于新开发者的入门级文章,本文主要分析了为什么 iOS 应用在应用商店上展示的比 Android 应用在应用商店上展示的大出许多。文章首先言明了两个商店所使用的 Size 意义是不一样的,App Store 用的是安装大小,Goolge play 使用的是下载大小。之后又根据编译方式分析了两种 app 在编译与执行情况下的不同,并且给出了经过各种编译方式后安装到手机上的应用文件大小的对比图。最后文章也给出了关于 iOS 应用瘦身的一些建议,当然在产品的开发过程中,产物大小不能说明什么,但是良好的开发习惯与知识储备,确实可以令你的产物更小,更能节省用户的流量。
+
+## 视频
+
+### 🐎 [SwiftCraft 2024](https://www.youtube.com/playlist?list=PLugrLwuQvERqB4Kj8GOPwCnUMOLxJ0Ny9)
+
+[@Damien](https://github.com/ZengyiMa): 这是今年 SwiftCraft 2024 大会的视频地址,SwiftCraft 是英国一个新的 Swift 开发者大会,在这里你可以学到 Swift 开发中的各种技术,如用 Swift 开发 App/ 游戏,如何做 Mobile 的 DevOps 等等。
+
+## 代码
+
+### [apple-knowledge](https://github.com/hack-different/apple-knowledge)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):`Apple Knowledge` 是由 Hack Different 团队在 GitHub 上维护的项目,旨在提供关于苹果产品的逆向工程信息以及机器可读的苹果硬件数据库。该项目鼓励社区成员的参与,并且涵盖了多个技术领域,包括但不限于以下内容:
+
+- Apple Silicon 和 ARM 架构:介绍 Apple Silicon 及 ARM 架构的工具、编译器及安全缓解措施
+- 协处理器与底层硬件:包括 USB、NVMe、雷电接口等协议的分析,以及苹果神经引擎等协处理器的研究
+- 网络与无线协议:涵盖 AWDL(无线分发链路)、iCloud、蓝牙通信及远程通信协议
+- 越狱与安全研究:收录历史上的越狱工具和漏洞,例如 checkra1n 和 Fugu,以及与苹果系统保护相关的资源
+- 系统配置与诊断:包括苹果的日志系统、恢复模式(FDR)及工厂数据恢复等详细信息
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#309-2024.10.28.md b/Reports/2024/#309-2024.10.28.md
new file mode 100644
index 000000000..580474b14
--- /dev/null
+++ b/Reports/2024/#309-2024.10.28.md
@@ -0,0 +1,79 @@
+# 老司机 iOS 周报 #309 | 2024-10-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [New requirement for app updates in the European Union](https://developer.apple.com/news/?id=yfacfeal)
+
+自 2024 年 10 月 17 日起(已经生效),在欧盟地区上架的 app 需要提供交易商身份信息,之后才能提交 app 。如果一直不提供交易商信息,则 app 会在 2025 年 2 月 17 日被下架。详见:[填写说明](https://developer.apple.com/help/app-store-connect/manage-compliance-information/manage-european-union-digital-services-act-trader-requirements/)。
+
+
+### [Apple Push Notification service server certificate update](https://developer.apple.com/news/?id=09za8wzy)
+
+这是一则前置通知:Apple 推送通知服务 (APNs) 的证书颁发机构 (CA) 即将改变。APNs 将于 2025 年 1 月 20 日更新沙盒环境的服务器证书,并于 2025 年 2 月 24 日更新生产环境的服务器证书。
+
+大家可以等沙盒环境更新后再进行操作,建议在过渡期间同时保留新旧两份证书。
+
+## 文章
+
+### 🐢 [Elite Hoops Year One: 12 Bite-Sized Lessons](https://www.swiftjectivec.com/elite-hoops-gaining-users-as-an-indie-app-with-paid-ads-and-lessons-learned/)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 本文是一个独立开发者关于应用增长过程的思考,从初始的少量付费用户开始到市场分析思考共 12 条,可谓字字珠玑,对于正处于独立开发中的同学来说有不小的借鉴意义。
+
+### 🐕 [swiftlang/swift-java](https://github.com/swiftlang/swift-java)
+
+[@Barney](https://github.com/BarneyZhaoooo):这个项目提供了 Swift 和 Java 互操作性的工具和库,允许 Swift 程序直接调用 Java API。还有一个 jextract-swift 工具,用于从 Java 源码中提取用于 Swift 调用的代码。项目处于早期开发阶段,依赖于特定的 Swift 和 JDK 版本。
+
+### 🐕 [直接使用 xcodebuild 比 Xcode 慢的原因分析](https://github.com/wojciech-kulik/xcodebuild.nvim/issues/201#issuecomment-2423828065)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章主要讨论了 xcodebuild 工具相较于 Xcode 更加耗时的问题,xcodebuild 每次构建时向 Apple 的 API 发出了多个请求,响应时间较长,导致构建变慢,并且 xcodebuild 对每个目标逐个发请求,目标越多则效率差异越明显,作者提供了解决方法包括修改 hosts 文件和使用网络嗅探工具阻止请求。这些方法能显著提高构建速度,同时作者建议用户也提交反馈,以促使 Apple 修复此问题。
+
+
+### 🐕 [The Memory Leak: An Xcode Detective Story](https://www.emergetools.com/blog/posts/the-memory-leak-an-xcode-detective-story)
+
+[@莲叔](https://github.com/aaaron7):这篇文章讲述了作者从一个自己 app 遇到的 deeplink 的 bug 一步步的排查到问题的根源的过程。问题的根源虽然并不复杂,但触发点非常隐蔽,至少属于 CR 时很难发现的问题,值得关注。另外,过程中一步步讲述了作者自己排查的过程以及思路,对于刚入门的同学应该也有非常有帮助。
+
+
+### 🐕 [Beware UserDefaults: a tale of hard to find bugs, and lost data](https://christianselig.com/2024/10/beware-userdefaults/)
+
+[@xiaofei86](https://github.com/xiaofei86):在 iOS 15 “应用预热” 和 ”敏感数据解锁前不可访问(钥匙串等)“ 2 个系统功能的互相影响下,会出现 `UserDefaults.standard` 实例取到空的偶现问题。一但问题出现,程序可能认为是首次启动,进而用默认数据覆盖 UserDefaults,导致更严重的问题。作者总结了能够大概率复现的场景,并提供解决方案。同时也封装了 [TinyStorage](https://github.com/christianselig/TinyStorage) 用来替代 UserDefaults,感兴趣同学可以阅读原文了解。
+
+### 🐕 [MoveMe - SwiftUI Edition](https://whackylabs.com/swift/swiftui/ios/animation/2024/09/12/moveme-swiftui-edition/)
+
+[@AidenRao](https://weibo.com/AidenRao):使用 SwiftUI 来处理手势和动画实际上并不像听起来那么直观,这篇文章讲解了如何实现正方形的拖动、缩放以及过渡动画效果,并解决了一些在实现过程中出现的问题。文章还提供了代码示例和 GitHub 链接供参考。
+
+### 🐎 [So how does this whole @preconcurrency thing work?](https://www.massicotte.org/preconcurrency)
+
+[@DylanYang](https://github.com/Dylan19Yang):@preconcurrency 是一个新增的关键字,帮助开发者屏蔽并发相关的警告。在开发者往严格的并发框架逐渐迁移的流程上,有时会出现无法快速迁移,甚至无法迁移的情况,而 @preconcurrency 能够允许开发者忽略这部分警告,使得开发者能够增量的完成并发框架的迁移。本文介绍了 @preconcurrency 可以在哪些场景下帮助开发者处理这些问题,比如在一个 @MainActor 的类型里实现一个 nonisolated 的 protocol 场景,或是处理三方库中无法迁移到 concurrency 框架的代码等。有遇到类似问题的开发者可以阅读此文了解更多。
+
+## 代码
+
+### [ProtobufKit](https://github.com/OpenSwiftUIProject/ProtobufKit)
+
+[@kemchenj](https://kemchenj.github.io/):轻量跨平台 ProtoBuf Swift 解决方案,实现了基础的序列化 API,并且提供一套类似 Codable 的方案支持,对比原版 5.7MB 的二进制大小,这个版本只需要 142KB。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#310-2024.11.04.md b/Reports/2024/#310-2024.11.04.md
new file mode 100644
index 000000000..0595d0e0d
--- /dev/null
+++ b/Reports/2024/#310-2024.11.04.md
@@ -0,0 +1,64 @@
+# 老司机 iOS 周报 #310 | 2024-11-04
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [TestFlight 增强功能助你吸引测试员](https://developer.apple.com/cn/news/?id=fps422ld)
+
+TestFlight 分发功能迎来了加强,新增对测试员的招募标准,例如指定 OS 版本,方便在在 1w 的名额内,尽可能按 app 实际要求暴露问题,例如鼓励低 OS 的用户加入测试。同时还提供了公开链接的转化情况看板等新功能。总体是一次满足开发者们痛点的更新。
+
+## 文章
+
+### 🐕 [How to build a Safari extension with SwiftUI](https://www.polpiella.dev/safari-extensions-swiftui/)
+
+[@Barney](https://github.com/BarneyZhaoooo):Polpiella 在博客中分享了如何使用 SwiftUI 构建 Safari 扩展的步骤。首先,在 Xcode 中创建 Safari 扩展目标并修改 Info.plist 文件,设置工具栏项和网站访问权限。接着,利用 SFSafariExtensionHandler 创建 SwiftUI 视图,并通过 PopoverViewController 展示。最后,运行应用即可在 Safari 中安装并测试扩展。
+
+### 🐎 [Phase Animator Behavior](https://chris.eidhof.nl/post/phase-animator/)
+
+[@AidenRao](https://weibo.com/AidenRao):在这篇文章中,Chris Eidhof 探讨了 PhaseAnimator 的工作原理。当视图的位置从 -100 更改为 -100 时,更新前后的节点完全相同,并不会产生任何动画,当没有具体的动画时,会立即调用动画的完成处理程序。换句话说,我们马上就进入了下一个阶段。
+
+### 🐎 [Swift Macro 在业务开发中的探索与实践](https://juejin.cn/post/7428200842229055529)
+
+[@JonyFang](https://github.com/jonyfang): 结合模块化场景及曝光场景下的应用,通过模块宏能解决模块化通用模版定义的繁琐, 通过曝光宏能降低整个曝光体系接入的复杂度,本质上都是让 Swift Macro 帮助我们减少重复样板代码的编写,提供快速接入的能力。接入 Swift Macro 可以玩出很多花样,增加了代码的趣味性和可读性,降低了维护成本。
+
+### [App development on iPad](https://mutatingfunc.github.io/blog/2024-10-12-app-development-on-ipad/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 作者在过去一年里,全面投入到使用 iPad 进行应用程序开发。这篇文章介绍了在 iPad 上使用 Swift Playgrounds 进行 iOS 应用程序开发的可能性和局限性(缺乏 Xcode 的某些功能,如断点调试和模拟器支持)。虽然还存在一些局限性,但通过一些创新的解决方案,这些问题都可以得到缓解。
+
+### 🐎 [Vapor and Swift Testing: Running tests in parallel](https://www.avanderlee.com/swift-testing/vapor-and-swift-testing-running-tests-in-parallel/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章探讨了在 Swift 和 Vapor 框架中如何进行并行测试。它解释了 Swift Testing 与 XCTest 的不同,并提出了使用 Repository Pattern 来避免测试中的数据库查询,以实现测试的并行执行。同时还介绍了如何配置和使用内存中的仓库进行测试,并重写代码以通过仓库访问数据,从而提高开发效率和测试稳定性。推荐对 Swift 服务端开发和测试的同学阅读。
+
+### 🐎 [Reminder: Apple Watches use 32 bit pointers](https://jeffverkoeyen.com/blog/2024/10/02/arm64_32-PSA/)
+
+[@极速男孩](https://github.com/ztlyyznf001):Apple Watch 从 Series 4 起采用 arm64_32 架构,虽为 64 位系统,但用 32 位指针。开发者在 watchOS 模拟器中测试时 Int 为 64 位,而在实际硬件上 Int 为 32 位,导致模拟器运行正常的代码在硬件上可能崩溃。例如,处理时间戳的代码可能在 Apple Watch 上失败。所以要在处理 Int 和 CGFloat 时需注意这种差异,确保代码在硬件上也稳定运行。
+
+### 🐎 [Flutter Color 大调整,需适配迁移,颜色不再是 0-255,而是 0-1.0,支持更大色域](https://mp.weixin.qq.com/s/imRQnDJgHTdrcuD5rYQApg)
+
+[@Crazy](https://github.com/jiyan135960):本文主要介绍了 Flutter 在 3.10 版本里进行的颜色体系更改,首先介绍了 sRGB 和 P3 两种颜色体系的在色域上的区别,从肉眼上看 P3 的颜色更加鲜艳。紧接着文章便介绍了新版本的颜色体系,其中主要对颜色位数做了对比讲解,并且对源码也进行了分析。文章的最后作者更是对现有 API 的现状进行分析,更是对之后的 API 发展情况进行了介绍。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#311-2024.11.11.md b/Reports/2024/#311-2024.11.11.md
new file mode 100644
index 000000000..88cfdb8e8
--- /dev/null
+++ b/Reports/2024/#311-2024.11.11.md
@@ -0,0 +1,62 @@
+# 老司机 iOS 周报 #311 | 2024-11-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [Migrating Combine to AsyncAlgorithms](https://blog.jacobstechtavern.com/p/migrating-combine-to-asyncalgorithms)
+
+[@zoeGuo](https://github.com/zoeGuo):Swift Concurrency 发布以来,其设计在许多简单用例上大大超越了 Combine,而在 AsyncAlgorithms 发布之后,Combine 中的许多功能在 Swift Concurrency 中都可以使用。本文以一个示例项目为例,逐步演示了将 Combine 代码迁移到 AsyncAlgorithms 的过程,涵盖了数据源合并、流和节流、以及 CurrentValueSubject 到 AsyncChannel 的转换等常见场景。迁移后代码更简洁易读,易于维护;与 Swift Concurrency 无缝集成,享受异步编程的便利。
+
+### 🐕 [Expanding SwiftUI capabilities in Nutrient: Customizable main toolbar](https://www.nutrient.io/blog/swiftui-main-toolbar/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章主要探讨了在 SwiftUI 中使用主工具栏的实现方法。作者介绍了 SwiftUI 的 ToolBar 视图及其在 iOS 16 及以上版本中的应用,强调工具栏在提升用户体验和界面整洁性方面的重要性。文章通过示例代码展示了如何创建和自定义工具栏,包括添加按钮、分隔符以及响应用户交互的功能。此外,作者还讨论了工具栏的布局和风格设置,以及如何在不同设备上保持一致的用户体验。
+
+### 🐕 [Faster iOS Networking with Shared Dictionary Compression](https://eisel.me/shared-dictionary-compression)
+[@JonyFang](https://github.com/JonyFang): 共享字典压缩是一种有效加速 iOS 应用的网络性能的技术,通过在客户端和服务器之间共享数据字典来减少传输数据量。
+
+## 工具
+
+### [GitHub Copilot 官方发布 Xcode 插件](https://github.blog/changelog/2024-10-29-github-copilot-code-completion-in-xcode-is-now-available-in-public-preview/)
+
+[@kemchenj](https://kemchenj.github.io/):Xcode 在 AI 补齐的功能上一直落后其它 IDE/Editor,虽然今年 Xcode 也发布了 Code Completion Prediction 功能,但只有国外能用。终于终于,GitHub Copilot 官方在近日发布了 Xcode 插件,让我们也可以用上 AI 补齐的功能:
+
+- 代码补齐
+- 多语言支持,包含 Swift/Objective-C/C/C++/Metal
+- 多行代码补齐
+- ...
+
+周报之前其实也介绍过一款国内工程师开发的 [Copilot Xcode 插件](https://github.com/intitni/CopilotForXcode),经过了解之后发现 GitHub 这次发布的插件其实是 fork 出来的,并且是[已经跟原版作者达成了协议](https://github.com/intitni/CopilotForXcode/discussions/597),GitHub 也[给了一点赞助金给作者](https://x.com/intitni/status/1851352010718880059)。
+
+原版后续也会继续维护,而且就目前来说原版的功能甚至比 GitHub 版本更多更丰富。最后想说这大概是我入行以来看到最和谐的一次项目分叉了。
+
+## 代码
+
+### 🐕 [Metal-Puzzles](https://github.com/abeleinin/Metal-Puzzles)
+
+[@BluesJiang](https://github.com/bluesjiang):这个代码库提供了一些简单的习题,用来联系编写 Metal 的 Custom Kernel,可以利用在 MLX、Metal Shader 等场景下。对于想学习使用 Metal 加速计算、自己写 Shader 的可以下载下来跟着教程周走一遍。仓库提供了一个测试框架,需要写的代码注意是在 source 变量字符串里。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#312-2024.11.18.md b/Reports/2024/#312-2024.11.18.md
new file mode 100644
index 000000000..da12d0560
--- /dev/null
+++ b/Reports/2024/#312-2024.11.18.md
@@ -0,0 +1,79 @@
+# 老司机 iOS 周报 #312 | 2024-11-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐎 [We're forking Flutter. This is why.](https://getflocked.dev/blog/posts/we-are-forking-flutter-this-is-why/)
+
+[@极速男孩](https://github.com/ztlyyznf001): Flutter 社区在 Flutter 基金会的支持下,启动了名为 "Flock" 的 Flutter 新分支。此举是由于 Google 在处理桌面应用支持等方面的政策使一部分开发者感到不满,认为其发展速度和开放性不足。"Flock" 分支希望通过更加民主和包容的社区驱动模式,更好地响应开发者的需求。
+
+### [A memory leak in Apple's Network Extension framework](https://obdev.at/blog/a-memory-leak-in-apples-network-extension-framework/)
+
+macOS 15.0 Sequoia 被发现会存在大量的内存泄漏(14.0 也存在,但是量级很小),你可以通过 ``sudo leaks at.obdev.littlesnitch.networkextension | grep "total leaked bytes"`` 来查询自己是否受到影响。如果确实有大量内存泄漏,可以通过杀死 ``at.obdev.littlesnitch.networkextension`` 进程来强制释放。
+
+## Developer - 设计开发加速器
+
+### [案例研究:设计出色的 visionOS App](https://developer.apple.com/events/view/GV4QHX6VBJ/dashboard)
+
+与我们一起探索出色的 visionOS App,了解设计师是如何针对无边画布进行创作的。在为期半天的讲座中,你将了解如何采用沉浸式功能、为眼睛和手设计交互体验,并充分利用深度、比例和空间。
+
+另外还有 [Apple Vision Pro 开发者实验室](https://developer.apple.com/events/view/ZJZ99TX978/dashboard) 的线下实验室,感兴趣的同学们可以积极报名。
+
+## 文章
+
+### 🐎 [Xcode stops fetching Swift packages](https://danielsaidi.com/blog/2024/11/04/xcode-stops-fetching-swift-packages)
+[@Smallfly](https://github.com/iostalks):在 Xcode 16.1 中,Swift 包依赖突然无法获取,并出现 ` “ Fatal: cannot use bare repository ” ` 错误。经过排查,作者发现问题与 SourceTree 添加的全局 Git 配置 `safe.bareRepository = explicit` 有关。删除或注释掉该配置后,Xcode 恢复正常。
+
+此配置的作用是提高安全性,建议不删除全局配置,而是通过命令手动标记相关仓库为安全:
+```bash
+git config --global --add safe.directory /path/to/repo
+```
+
+更详细的讨论可见 SPM 的 [issue 8068](https://github.com/swiftlang/swift-package-manager/issues/8068),以及对应的 [PR](https://github.com/swiftlang/swift-package-manager/pull/8106) 。
+
+
+### 🐕 [逆流而上的设计 - Swift 所有权和 ~Copyable](https://onevcat.com/2024/11/noncopyable/)
+
+[@zoeGuo](https://github.com/zoeGuo):Swift 5.9 中引入了不可复制类型的标记 ~Copyable(non-copyable),在今年的 Swift 6 中,之前类型扩展(extension)和泛型(generic)不支持 ~Copyable 的不足也得到了解决,~Copyable 的可用性得到了提升。文章用 ~Copyable 的工作方式、所有权转移关键字、在泛型或扩展中使用 ~Copyable,三个部分详细讲解了 ~Copyable 的概念、工作原理以及具体如何使用。作者在对 ~Copyable 的概念阐述中提到:“以往的协议是‘为类型增加功能’,而 ~Copyable 则是‘为类型解除限制’”,相信能帮助你更快理解 ~Copyable 协议。在文末:“只在确实需要独占资源或严格控制生命周期时才使用 ~Copyable,可能会是更加平滑和正确的方式”,也很好的总结了 ~Copyable 的使用场景。文中有大量代码例举以及内存管理的详细示意,强烈推荐阅读原文。
+
+### 🐕 [THREADS IOS PERFORMANCE](https://atscaleconference.com/threads-ios-performance/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文是 Threads 开发讲述了 Threads 是如何优化 App 性能的。Threads 主要关注的性能指标包含了图片加载速度、网络内容的返回速度、发布成功率、页面加载耗时、发布可靠性等。本文对页面加载耗时和发布可靠性方面做了更深入的讲解,包括通过劣化实验推断页面加载耗时对业务数据的影响、提供 debug 工具帮助业务研发判断自己业务的性能水平以及发文草稿的磁盘占用对用户的体验影响等。本文对 Threads 各方面的性能监控、优化等都有涉及,想要优化自己 App 的读者可以细致阅读一下。
+
+## 工具
+
+### [screenshot-to-code](https://github.com/abi/screenshot-to-code)
+
+[@EyreFree](https://github.com/EyreFree):screenshot-to-code 是一个开源 AI 代码生成工具,能将设计稿截图、Figma 设计稿或网页模型快速转换为干净、可用的代码。该工具支持多种技术栈,包括 HTML+Tailwind、React+Tailwind、Vue+Tailwind、Bootstrap 等。它支持 Claude Sonnet 3.5 和 GPT-4o 等模型。且近期加入了实验性功能,可以将网页交互的视频 / 屏幕录制转换为功能性原型。用户可以通过 Docker 快速部署。对于需要快速将设计转换为代码的开发者来说,这是一个非常实用的工具,感兴趣可以尝试。
+
+## 音视频
+
+### 🐕 [SwiftConnection Videos, Material and Transcript](https://async.techconnection.io/frenchkit)
+
+[@Barney](https://github.com/BarneyZhaoooo):该网站提供了关于 Swift 编程语言的会议资源,包括视频、材料和演讲稿。会议内容覆盖 Swift 性能优化、AI 集成、嵌入式 Swift 应用、可访问性构建等多个技术领域。这个平台为 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)
diff --git a/Reports/2024/#313-2024.11.25.md b/Reports/2024/#313-2024.11.25.md
new file mode 100644
index 000000000..2b7468bd7
--- /dev/null
+++ b/Reports/2024/#313-2024.11.25.md
@@ -0,0 +1,81 @@
+# 老司机 iOS 周报 #313 | 2024-11-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Can't install any apps on my new iPhone 16 Pro with iOS 18 from Xcode](https://forums.developer.apple.com/forums/thread/764196?answerId=804884022#804884022)
+
+苹果的开发工程师对于从 Xcode 16 Beta/rc 升级到 Xcode 16 正式版用户会遇到无法安装 app 到 iPhone 16 系列手机的问题给出了解决方案:手动通过指令安装 XcodeSystemResources 。该问题在 Xcode 16.1 Beta 2 中修复。
+
+```
+sudo installer -pkg /Applications/Xcode.app/Contents/Resources/Packages/XcodeSystemResources.pkg -target /
+```
+
+## 文章
+
+### 🐎 [编译器,靠你了!使用类型改善状态设计](https://onevcat.com/2024/11/type-as-state/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 作者通过一个实际工作中碰到的端到端消息发送的例子,讲述了如何利用 Swift 的类型系统 , 将状态逻辑编码到类型中 , 由编译器来保证程序执行正确性,从而减少使用和维护的心智负担。
+
+### 🐕 [MainActor usage in Swift explained to dispatch to the main thread](https://www.avanderlee.com/swift/mainactor-dispatch-main-thread/)
+
+[@AidenRao](https://weibo.com/AidenRao):在构建应用程序时,在主线程上执行 UI 更新任务是至关重要的,而使用多个后台线程时可能会遇到点麻烦。使用 @MainActor 属性将有助于确保您的 UI 总是在主线程上更新。文章详细解释了什么是 MainActor,全局 actor 的概念,以及如何在 Swift 中使用 MainActor。
+
+### 🐎 [Flutter vs. Kotlin Multiplatform: Which Should You Choose for Cross-Platform Development?](https://medium.com/@rushabhprajapati20/flutter-vs-kotlin-multiplatform-which-should-you-choose-for-cross-platform-development-4bcf28358918)
+
+[@Crazy](https://github.com/jiyan135960):从 React Native 开始,移动端的开发就发起了跨平台的改革,如今 Flutter,KMP,C++,都进入了跨平台的研发序列。本文主要对 Flutter 与 Kotlin 两个现今比较火的跨平台框架进行了对比。
+
+Flutter 平台的优点主要为:
+
+1. 统一代码库
+2. 富有表现力和灵活的用户界面
+3. 快速的开发周期
+4. 强大的社区支持
+
+KMP 平台的优点:
+
+1. 原生一般的性能
+2. 高互用性
+3. 高代码共享能力
+4. Google 的支持
+
+总结一下:Flutter 主要用于项目启动、 MVP 功能、项目原型、有 UI 统一化的需求开发。KMP 主要用于大项目和已有代码库、需要高性能、需要多平台逻辑分享的功能开发。
+
+### 🐢 [Flutter 小技巧之 OverlayPortal 实现自限性和可共享的页面图层](https://mp.weixin.qq.com/s/LW3bASRhA_HL6pS27qUVMA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 本文从原理层讲解了 Overlay 和 OverlayPortal 之间的差异,并且对如何使用 OverlayPortal 做了更深一步的阐述,对于 Flutter 开发的小伙伴来说是一个不错的科普文!
+
+### 🐕 [Integrating Live Activity and Dynamic Island in iOS: A Complete Guide](https://canopas.com/integrating-live-activity-and-dynamic-island-in-i-os-a-complete-guide)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了关于在 iOS 中集成 Live Activities 和 Dynamic Island 的完整指南。它涵盖了如何创建和管理 Live Activities,以便在锁屏和应用程序上显示实时信息。此外,指南还介绍了如何利用 Dynamic Island 来增强用户体验,让用户能够方便地访问和交互实时通知和活动。可供开发者参考,实现更具动态交互的应用程序。
+
+### 🐎 [Swift Format in Xcode](https://troz.net/post/2024/swift_format/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了在 Xcode 16 中首次集成的 swift-format 工具,swift-format 是和 swint-lint 类似的用于规范代码格式的工具。作者写了一段有问题的示例代码,并同时使用 swift-lint、Prettier 和 swift-format 进行代码自动矫正。从表现上来看 swift-format 并不如 swint-lint 一般全能,但是使用十分方便,也支持规则的自定义配置,在配置妥当后已经适用于大部分场景。同时作者也提到目前并没有官方的 Swift code style guidelines, swift-format 目前仅仅只指向了一个方向,具体的规则后面还有改动的可能。
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#314-2024.12.02.md b/Reports/2024/#314-2024.12.02.md
new file mode 100644
index 000000000..281e63877
--- /dev/null
+++ b/Reports/2024/#314-2024.12.02.md
@@ -0,0 +1,116 @@
+# 老司机 iOS 周报 #314 | 2024-12-02
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [AutoConsis:UI 内容一致性智能检测](https://mp.weixin.qq.com/s/VwnnYnyo9sCDdUuG4Mu1kQ)
+
+[@Damien](https://github.com/ZengyiMa):这篇文章介绍了美团技术团队与复旦大学计算机学院合作开发的 AutoConsis 系统,这是一个自动化智能检测流程,用于检测移动 App 中 UI 界面内容的一致性。该系统通过目标区域识别、目标信息提取和一致性校验三个关键步骤,实现了低成本、高泛化性和高置信度的 UI 内容一致性检测。AutoConsis 在美团 App 的多类营销业务场景中得到应用,有效提升了 UI 质量保障,并在 ICSE 2024 会议上发表了相关论文。
+
+### 🐎 [Lazy vars in @Observable classes in Swift](https://nilcoalescing.com/blog/LazyVarsInObservableClasses/)
+
+[@zoeGuo](https://github.com/zoeGuo):从 ObservableObject 协议迁移到 @Observable 宏时,如果之前使用 lazy 修饰了该类型的变量,那么迁移后将会遇到报错的情况。文中解释了这种情况并提出可以使用 @ObservationIgnored 来解决。
+
+### 🐎 [Exploring Apple Intelligence: Writing Tools](https://www.createwithswift.com/exploring-apple-intelligence-writing-tools)
+
+[@EyreFree](https://github.com/EyreFree):本文介绍了 Apple Intelligence 新推出的 Writing Tools 写作工具功能。该功能集成于 Apple 生态系统中,可在 iOS 和 macOS 设备上使用,主要提供以下功能:
+
+- 智能校对:自动识别并修正语法和拼写错误
+- 文本重写:支持改写文本,可选择友好、专业或简洁的语气
+- 文本转换:将文本转换为要点、列表或表格(测试版暂未提供)
+- 文本摘要:生成长文本的简明摘要(测试版暂未提供)
+- AI 集成:支持 AI 辅助写作(测试版暂未提供)
+
+对开发者而言,Writing Tools 已自动集成到 SwiftUI 的 Text、TextField 和 TextEditor 等原生组件中。开发者可以通过 writingToolsBehavior 修饰符来自定义写作工具的行为,还可以在 UIKit 中实现更灵活的控制。这套工具已无缝集成到 Mail、Messages、Notes 和 Safari 等 Apple 生态系统应用中,显著提升了在这些应用中的写作体验。
+
+### 🐕 [货拉拉 iOS 疑难 Crash 治理-系统键盘语音](https://juejin.cn/post/7396463744186515465)
+
+[@xiaofei86](https://github.com/xiaofei86):本文主要介绍了货拉拉解决系统键盘语音转文字崩溃的整个排查过程。通过崩溃类型、崩溃堆栈和偏移指令等信息,结合汇编指令调试,最终确定崩溃根本原因,并进行有效治理。感兴趣的同学可以阅读原文学习更多疑难崩溃的分析思路。
+
+### 🐢 [Google Deepmind LLM 研究员解读 OpenAI o1 及 LLM+ 强化学习新范式 | 3 小时播客全文精华](https://mp.weixin.qq.com/s/i019cHmumJIviyLCDPI3sA)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章是对一个长达 162 分钟播客内容的深入解读,该播客深入探讨了 OpenAI 的 o1 模型及其与 LLM(大型语言模型)和强化学习(RL)结合的新范式。以下是播客内容的主要总结:
+
+- 1. Agent 系统
+ - 基础:推理能力是构建 agent 的基础,需解决 AI 间协作、竞争及任务分工。
+ - 工具使用:关键在于提升模型对工具功能的理解和调用能力。
+ - 构建要素:强大基础模型、高质量工具、优质 prompt 及学习使用工具的数据集。
+ - 数据收集:理想方式是将数据标注嵌入用户日常工作流程。
+
+- 2. 思维链(CoT)与强化学习(RL)
+ - 思维链:详细步骤提升模型表现,分显式(明确 token)和隐式(直觉思考)流派。
+ - 强化学习:通过 agent 与 environment 交互和 reward 指引学习。
+ - 模型反思:允许模型反思修正错误,显著提升 reasoning 任务表现。
+
+- 3. AI 反馈系统与 Human in the Loop
+ - AI 优势:快速处理文本并总结,处理复杂评估任务有优势。
+ - Human in the Loop:AI 简化复杂问题,人类做最终判断,提升可扩展性。
+
+- 4. Multi-Agent 与角色分类
+ - Multi-Agent:更像 multi-task,需角色分离,如 generator 和 critic。
+ - 角色分离:通过不同 persona 实现,提升 multi-agent 系统效率。
+
+- 5. Single-Agent 与 Multi-Agent
+ - Single-Agent:在达到超人类水平前,Multi-Agent 表现更优。
+ - 过渡阶段:Multi-Agent 可能是过渡产物,未来趋向单一全能模型。
+
+- 6. 数据与方法
+ - 数据获取:高质量数据是训练关键,特别是在 reasoning 领域。
+ - 合成数据:MCTS 等方法生成高质量合成数据。
+
+- 7. 未来展望
+ - 一年内:期待 coding 技能商品化,多模态 reasoning 突破。
+ - 三年内:希望看到接近 AGI 水平的模型,解决所有问题。
+
+- 嘉宾与主持人介绍
+ - Kimi Kong:Google DeepMind 研究工程师,专注于强化学习。
+ - Eric Li:Google Cloud 研究科学家,专注于 LLM 和 MCTS 结合的研究。
+ - 苏辉:前微信 AI 研究员,现负责国内一线互联网公司的大模型训练。
+ - Cage:原字节数据科学家,现拾象科技研究员。
+ - Monica:美元 VC 投资人,前 AWS 硅谷团队和 AI 创业公司员工。
+
+### 🐎 [Syntax Highlighting SwiftUI Code with Swift Syntax](https://sahandnayebaziz.org/blog/syntax-highlighting-swiftui-with-swift-syntax)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 作者总结了一些在使用 swift-syntax 时的经验和技巧 , 并最终在 DetailsPro 应用中实现了对 SwiftUI 代码实时更新的语法高亮显示功能。
+
+## 代码
+
+### [SwiftUIFX](https://swiftpackageindex.com/finnvoor/SwiftUIFX)
+
+[@bq](https://github.com/bqlin):SwiftUIFX 是一个 Final Cut Pro 插件,用于直接将 SwiftUI 视图渲染到视频中。该插件提供了一个容器,打通了从 SwiftUI 到 Final Cut Pro 上屏渲染的链路。项目创造性地解决了几个问题:
+
+1. 如何实现一个 Final Cut Pro 插件。
+2. 如何将 UI 绘制成支持输出到 Final Cut Pro 的数据帧(实现比我们想象的要简单😜)。
+3. 如何在外部使用 dylib 将我们编写的 SwiftUI 视图跑起来。
+
+思路很有趣,逻辑较简单,是个很好的入门制作 Final Cut Pro 插件的契机。了解更多插件制作可浏览 [Apple 官方文档](https://developer.apple.com/documentation/professional-video-applications/preparing-plug-ins-for-use-in-final-cut-pro)。
+
+### [NSDockTilePlugIn](https://github.com/marioaguzman/NSDockTilePlugIn-Example)
+
+[@Cooper Chen](https://github.com/cjlcooper):`NSDockTilePlugIn` 是一个用于在 Mac 开发中用于应用未运行时自定义 Dock 图标的插件。通过实现这个插件,开发者可以在应用程序未启动的情况下修改其 Dock 图标,并提供自定义的 Dock 菜单。插件的名称通过应用的 `Info.plist` 文件进行指定,并在登录时或图标被添加到 Dock 时加载。插件可以通过实现 `setDockTile(_:)` 来定制图标,并通过 `dockMenu()` 提供自定义菜单选项。当图标不再有效时(例如应用被移除出 Dock),插件会接收到 `nil` 参数进行销毁操作,这个插件对于部分 Mac 开发用不错的借鉴价值。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#315-2024.12.09.md b/Reports/2024/#315-2024.12.09.md
new file mode 100644
index 000000000..4ae75ebdb
--- /dev/null
+++ b/Reports/2024/#315-2024.12.09.md
@@ -0,0 +1,75 @@
+# 老司机 iOS 周报 #315 | 2024-12-09
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [CocoaPods Trunk Read-only Plan](https://blog.cocoapods.org/CocoaPods-Specs-Repo/)
+
+Cocoapods 为将 Specs 仓库转为只读状态制定了时间表,预计在 2026 年 12 月 2 日正式不再接受新的提交。
+
+## 文章
+
+### 🐕 [有意为之还是技术缺陷?SwiftUI 多层导航中的 onChange 异常 | 肘子的 Swift 记事本](https://fatbobman.com/zh/posts/the-anomaly-of-onchange-in-swiftui-multi-layer-navigation/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文探讨了 SwiftUI 中 `onChange` 的异常行为,特别是在多层导航的情况下。文章分析了在使用 `NavigationView` 和 `NavigationLink` 时,`onChange` 修饰符可能会出现的问题,尤其是当视图层级嵌套较多时。作者提供了几个实际示例,演示如何管理状态变化和确保 `onChange` 正常响应。同时,提供了一些最佳实践,以帮助开发者避免常见陷阱并提升应用性能和用户体验。
+
+### 🐕 [Improving the approachability of data-race safety](https://github.com/hborla/swift-evolution/blob/approachable-concurrency-vision/visions/approachable-concurrency.md)
+
+[@Smallfly](https://github.com/iostalks):这篇文章提出了 Swift 并发特性面临的易用性挑战,包括过多的显式注释、数据竞争误报和异步代码编写困难。文中提出了解决方案包括减少并发注释、调整异步函数语义以减少误报、提供同步和异步代码之间的桥接工具,以及自动迁移代码等。目的是为了让 Swift 并发更易学易用,同时保持高性能。推荐给对 Swift 并发特性演进感兴趣的同学阅读。
+
+### 🐎 [深入探讨 C++ 多线程性能优化](https://mp.weixin.qq.com/s/18TujefnTj-17GuNgmYW-Q)
+
+[@老驴](https://weibo.com/u/6090610445):这篇来自腾讯技术工程的文章从实际案例出发,深入探讨了 C++ 多线程编程中的性能优化问题,包括锁竞争、缓存一致性等难点,并通过详细的 benchmark 数据对比锁与原子操作的性能差异。此外,文章还介绍了如 Epoch Based Reclamation 等高级优化方法。无论是提升性能还是理解底层机制,这篇文章都值得一读。
+
+
+## 工具
+
+### [Xcode + ChatGPT: Official Support is Available Now](https://medium.com/@hiandic/dc21998f3653?source=friends_link&sk=e4dfbadcc5281bd474ecd546b221877e)
+
+[@EyreFree](https://github.com/EyreFree):这篇文章介绍了 OpenAI 最新宣布的 ChatGPT for macOS 可以直接与 Xcode 集成的功能,除了 Xcode,该功能还支持 VS Code、TextEdit 和 Terminal 等开发工具。使用该功能需要按以下步骤:
+
+- 目前该功能仅向 ChatGPT Plus 和 Team 用户开放请先确保条件符合,Enterprise 和 Edu 用户将在近期获得访问权限
+- 确保 ChatGPT for macOS 应用已更新到最新版本
+- 在 ChatGPT 设置中启用 `Enable Work with Apps` 选项以获取辅助功能权限
+- 使用快捷键 Option + Space 打开 ChatGPT 聊天栏
+- 点击 `Work With Apps` 按钮并选择 Xcode
+
+通过这种集成,ChatGPT 可以直接查看和理解开发者的代码库(Codebase),从而提供更准确的回答和建议。作者以开发 SwiftUI 动画的卡片翻转游戏为例,展示了这个新功能的应用。AI 辅助编程近来发展迅速,这次与 Xcode 的原生集成让开发体验更加流畅,标志着 AI 编程助手进入新阶段。
+
+### [Easydict: 一个简洁优雅的词典翻译 macOS App](https://github.com/tisfeng/Easydict)
+
+[@Cooper Chen](https://github.com/cjlcooper):Easydict 是一个开源的词典翻译 macOS App,能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR 截图翻译,可同时查询多个翻译服务结果,目前支持市面上绝多数主流的翻译 App,使用者可以通过 Homrebrew 快速安装使用,Easydict 支持鼠标滑词、OCR 识别等功能,是 Mac 平台上非常高效的翻译软件,值得推荐。
+
+## 代码
+
+### [swift-sharing](https://github.com/pointfreeco/swift-sharing)
+
+[@bq](https://github.com/bqlin):如其名,sharing,你能想到的状态共享,跨模块间的状态共享、持久化、观察监听,它都做了,无论是实现业务逻辑、Combine、SwiftUI、UIKit 都能无痛接入。关键人家实现还非常优雅,宏、属性包装器、清晰的职责实现,都是很优秀的实践,单单接入就能让你的代码耳目一新了。还是那句话,Point-Free 出品,必属精品。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[北京] 比图科技 - 高级 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)
diff --git a/Reports/2024/#316-2024.12.16.md b/Reports/2024/#316-2024.12.16.md
new file mode 100644
index 000000000..cd625f40b
--- /dev/null
+++ b/Reports/2024/#316-2024.12.16.md
@@ -0,0 +1,75 @@
+# 老司机 iOS 周报 #316 | 2024-12-16
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐢 [Flutter 3.27 发布](https://mp.weixin.qq.com/s/gQ5u1m7hudyoa-HeLyMKlw)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 3.27 悄悄的就来了,该版本包含了大量更新,包括:
+
+- Cupertino 相关组件的大量优化
+- Material 下的一些主题和控件调整,包括之前我们聊过的 Row and Column spacing
+- Android Impeller 默认开启和 iOS 性能优化
+- P3 色域的 UI 支持
+- Web 下的大量改进
+- Swift Package Manager 的支持
+- 之前聊过的 Edge to Edge 和 Android Freeform 支持
+- pub 下载数
+- DevTool 工具大改进和优化,包括设备断线数据保持
+- 对老 Dart SDK 插件不再维护适配,弃用 OC
+
+## 文章
+
+### 🐕 [Prevent screenshot capture of sensitive SwiftUI views](https://www.createwithswift.com/prevent-screenshot-capture-of-sensitive-swiftui-views/)
+
+[@BluesJiang](https://github.com/bluesjiang):这篇文章使用了一个比较巧妙的方法来实现截屏隐藏隐私信息。核心是使用 `UITextField` 的 `isSecureTextEntry` 属性,然后将被包装的 View 作为其子 View 即可。然后使用了 preference 来实现父容器大小与子容器大小匹配。可以通过这个文章整体了解 SwiftUI 的 View 的包装和 Modifier 的写法,是一个很好的参考。
+
+### 🐕 [Why Can't You Loop Over Ranges of Characters in Swift](https://mfaani.com/posts/swift/why-cant-you-loop-over-ranges-of-characters-in-swift/)
+
+[@bq](https://github.com/bqlin):当你对 `"a"..."z"` 执行 for 循环遍历时,你会惊讶地发现 Swift 并不支持的,虽然这有点违反常理。这篇文章你将了解到 Swift 字符并不是简单的 ASCII 字符,而是可变长的 Unicode 字符,其在不同的语言环境有不同的排序,不断迭代的 Unicode 也在不断地扩充字符范围,甚至有些字符是集群的时候,遍历、计数将变得不太可能。文章也介绍了 Unicode 这么设计背后的意图,以及当你硬要遍历一个字符范围时候,作者也给出了一个比较安全的解决方案。
+
+### 🐕 [WebKit GPU Profiling](https://developer.playcanvas.com/user-manual/optimization/gpu-profiling/)
+
+[@莲叔](https://github.com/aaaron7):WebGL 的 debug 一直以来都是一个令人头痛的问题,通过浏览器内置的调试能力能够满足一部分需求,但如果需要更进一步的分析往往都缺乏足够好用的工具。这篇文章针对 WebGL 和 WebGPU 两种应用在不同平台的调试技巧做了汇总,包括 Mac、Window 和 Quest。其中对于在 Mac 上通过 Xcode 来做分析给出了 step by step 的步骤,非常友好。
+
+### 🐕 [Concurrency Step-by-Step: Reading from Storage](https://www.massicotte.org/step-by-step-reading-from-storage)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文提供了关于如何在 Swift 应用中逐步从本地存储读取数据的详细指南。文章重点介绍了如何使用 `Codable` 协议来序列化和反序列化对象,并通过 `FileManager` 管理文件的读取和写入。作者逐步解析了实现这个过程的关键步骤,包括如何设置数据模型、保存数据以及从文件中加载数据的示例代码。此外,文章还提供了常见问题的解决方案,以帮助开发者更有效地处理数据存储。适合想要深入理解 iOS 数据存储机制的开发者阅读。
+
+## 代码
+
+### [rmtrash](https://github.com/TBXark/rmtrash)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): Swift 实现的 macOS 命令行工具 rm 的替代方案,用于将文件移动到废纸篓。此外 rmtrash 提供了与 Linux 和 macOS 版本 rm 命令完全兼容的标志位支持方案。
+
+### [ml-cross-entropy](https://github.com/apple/ml-cross-entropy)
+
+[@Leo](https://github.com/LeoMobileDeveloper):由 Apple 开源的 CCE(Cut Cross-Entrop) 是一种优化小模型(SLM)训练过程中内存消耗的代码库,以 Gemma 2 (2B) 为例,能够将内存从 24GB 优化到 1MB,显著提高小模型的训练速度。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[北京] 支付宝-终端业务研发专家(支付碰一下) - iOS/Android - P7
+
+具体信息请移步: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)
diff --git a/Reports/2024/#317-2024.12.23.md b/Reports/2024/#317-2024.12.23.md
new file mode 100644
index 000000000..ce19f833b
--- /dev/null
+++ b/Reports/2024/#317-2024.12.23.md
@@ -0,0 +1,100 @@
+# 老司机 iOS 周报 #317 | 2024-12-23
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## Developer - 设计开发加速器
+
+### [展望未来:打造出色的 visionOS App(线下)](https://developer.apple.com/events/view/F7QL84UKJV/dashboard)
+
+参加在上海 Apple 开发者中心举办的为期一天活动,了解如何打造出色的 visionOS App。
+
+你将通过三个讲座学习如何开始使用 SwiftUI,探索一流的 App,并深入了解 RealityKit 和 Reality Composer Pro。随后,你还将听取开发者社区成员的分享,并有机会体验一系列 visionOS App 示例。
+
+## 文章
+
+### 🐕 [得物 iOS 函数调用栈及符号化调优实践|得物技术](https://mp.weixin.qq.com/s/KSAZRfqYmBPuooXJM5qn0A)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了得物技术团队如何解决 iOS 隐私合规检测的性能难题。文章详细解析了 `+[NSThread callStackSymbols]` 的内部机制,并通过逆向工程优化了调用栈的获取与符号化过程。实现包括自定义 `callStackSymbols` 方法、缩短堆栈长度以及智能缓存策略,显著降低了 CPU 占用,提升了检测效率。为 iOS 开发者提供了优秀的性能优化实践案例。
+
+### 🐕 [Exploring Apple Intelligence: Image Generation](https://www.createwithswift.com/exploring-apple-intelligence-image-generation/)
+
+[@Cooper Chen](https://github.com/cjlcooper):Apple 推出了几款创新的图像生成工具,推动个性化创作和数字交流。Image Playground 允许用户通过文本和视觉提示生成图像,并与 PencilKit 集成,带来 Image Wand 功能,让用户将手绘草图转化为精美图像。同时,Genmoji 让用户根据文本描述生成个性化表情符号,增强了数字沟通的表现力。这两款工具不仅注重创意自由,还在包容性和版权合规性上做出了努力。此外,开发者可以将这些功能集成到应用中,扩展数字创作的可能性。而这篇文章为数字创作和个性化互动提供了不错的参考,展示了 Apple 工具如何为用户和开发者带来创意支持。
+
+### 🐕 [Apple' s use of Swift and SwiftUI in iOS 18](https://blog.timac.org/2024/1208-state-of-swift-and-swiftui-ios18/)
+
+[@ZengyiMa](https://github.com/ZengyiMa):这篇文章分析了苹果在 iOS 18 中 Swift 和 SwiftUI 的使用情况。iOS 18 中使用 Swift 和 SwiftUI 的应用数量持续增长,甚至在安全固件的低级别部分开始使用 Swift。此外,新开发的技术,如 Apple Intelligence,也依赖于 Swift。截止目前,iOS 18 现在包含 592 个使用 SwiftUI 的二进制文件,Swift 代码的二进制文件数量相比较 iOS 17 增加了 50%。
+
+### 🐎 [JDImage - 京东自研鸿蒙图片库](https://juejin.cn/post/7444800867030286371)
+
+[@Crazy](https://github.com/jiyan135960):JDImage 是京东使用 C++ 打造的一款跨平台的图片加载框架,主要解决系统和其他第三方加载组件的问题,比如加载速度较慢,格式支持不全等。JDImage 在架构上借鉴了 SDWebImage 与 Glide 等图片加载框架,将整体图片库分解为:图片缓存、解码器、图片源拉取、性能监控、图片组件五个部分,使用流水线设计灵活调整执行流程,满足各类的图片加载需求。最后关于 C++ 的跨端代码要根据自己项目的实际情况进行选择,使用之前对错误的捕捉与升降级一定要事先准备好。
+
+## 工具
+
+### 🐕 [HuggingChat macOS](https://github.com/huggingface/chat-macOS)
+
+[@EyreFree](https://github.com/EyreFree):HuggingChat macOS 是一款原生 macOS 聊天应用,由知名 AI 开源社区 Hugging Face 开发。该项目将先进的开源语言模型能力集成到桌面端,为用户提供流畅的 AI 对话体验,可以简单理解为 ChatGPT 客户端的本地大模型版。
+
+- 原生体验:专为 macOS 设计,支持全局快捷键(⌘ + Shift + Return)快速唤起;
+- 语音支持:支持实时同声传译(OpenAI Whisper);
+- 易于安装:提供直接下载和 Homebrew 安装两种方式;
+- IDE 集成:通过 VSCode 扩展支持代码上下文理解,提供更准确的编程建议;
+- 开源透明:基于 Swift 开发,代码完全开源,支持社区贡献;
+- 使用门槛低:仅需 macOS 14.0 以上系统即可运行,安装即用。对于开发者,项目提供完整的开发文档和贡献指南。
+
+作为 Hugging Face 出品的官方客户端,该项目让优质开源 AI 模型触手可及,为想要摆脱商业 AI 服务的用户提供了绝佳选择。项目活跃度高,安装简单,值得一试。
+
+### 🐢 [Skip: Build native apps for iPhone and Android with Skip](https://skip.tools)
+
+[@bq](https://github.com/bqlin):通过 Skip 项目,你可以使用 Swift 同时编写 Android 和 iOS 原生应用。没看错,Swift 也有反客为主的一天了。Skip 项目的基本原理是:当你在编写 Swift 和 SwiftUI 源代码时,Skip Xcode 插件会不断构建用于 Android 的等效代码,因此最终 App 产物都能获取原生的性能和原生的交互体验。
+
+- 真正原生:与其他跨平台方案相比,Skip 项目是真正的原生代码。当编写 SwiftUI 代码时,将生成 Android 的 Jetpack Compose。
+
+- 完全透明:使用 Skip 时,不会在调试器中隐藏任何信息。Skip 库是开源的,也没有复杂的运行时需要调试。
+
+- 轻量:使用 SkipZero,iOS App 不依赖任何 Skip 框架;Android 也仅需几个 Skip 开源库。
+
+- 内存效率:无额外的托管运行时,Skip App 在两个平台都可能地高效。
+
+- 熟悉的 IDE:Skip 使用 Xcode IDE 进行编写,是 Swift 的首要开发环境。当需要高度自定义的 Android 能力时,则需在 Android Studio 中编写 Kotiln。
+
+- 完美整合:Skip 与 Kotlin 和 Compose 无缝衔接,因此也很轻松集成 Android 三方库。
+
+- 框架开放:Swift-on-Android 只是开始,Skip 的开发框架都是免费开源的。
+
+- CI 友好:支持跨平台的单元测试,确保逻辑在跨平台中保持一致。也支持在本地或远程执行测试。
+
+- 容易迁移:代码都是你自己的,包括 Swift 输入和 Android 输出,因此不会持续依赖 Skip 工具。
+
+
+值得注意的是,虽然框架源码是开源的,但 Xcode 转译器插件针对大型商用还是需要收费的。
+
+## 代码
+
+### [SwiftUI-experiments](https://github.com/mikelikesdesign/SwiftUI-experiments)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者是一个爱好自己通过代码实现创意的设计师,他通过 SwiftUI 实现了不少有创意的交互设计,并且都提供了原型 Demo。独立开发者们如果希望尝试一些有特色的交互的话可以参考参考。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2024/#318-2024.12.30.md b/Reports/2024/#318-2024.12.30.md
new file mode 100644
index 000000000..b163f1709
--- /dev/null
+++ b/Reports/2024/#318-2024.12.30.md
@@ -0,0 +1,70 @@
+# 老司机 iOS 周报 #318 | 2024-12-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又来新人啦~**
+
+欢迎 [阿权](https://github.com/bqlin) 加入老司机技术,就职于字节剪映团队,喜欢音视频和图像处理,做过许多翻译和 WWDC 内参,热爱摇滚与爵士。喜欢文艺喜欢电影,曾经幻想诗与远方,却囿于昼夜、厨房与爱。
+
+**希望 阿权 的加入也能为大家带来更多元化的内容输出!**
+
+## 文章
+
+### 🐕 [Calling Hidden Swift Functions](https://www.emergetools.com/blog/posts/calling-hidden-swift-functions)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇博文介绍了在 Swift 中调用隐藏函数的方法。Swift 中有 6 种访问级别,从 open 到 private。但是,用 Swift 编写的 Apple 框架(尤其是 SwiftUI)包含供其他 Apple 框架使用但不供第三方应用程序使用的 API。文章探讨了如何在自己的代码中调用这些函数以使用隐藏功能。
+
+### 🐕 [Be careful wrapping a throwing function in a Task](https://www.swiftwithvincent.com/blog/be-careful-wrapping-a-throwing-function-in-a-task)
+
+[@Barney](~https://github.com/BarneyZhaoooo~):本文讨论了在 Swift 中将抛出函数包装在 `Task` 中时需要注意的事项。直接在 `Task` 中调用抛出函数可能导致不如预期的行为,因为 `Task` 默认会捕获并处理错误。作者举例说明了如何正确使用 `Task` 来执行抛出函数,并提供了实现的最佳实践,以确保错误被适当地处理。同时,文章还强调了在并发编程中理解错误处理的重要性,帮助开发者避免引入难以调试的问题。适合希望深入了解 Swift 并发特性与错误处理的开发者。
+
+### 🐎 [Enhance Xcode Previews with Unit Test Coverage](https://www.emergetools.com/blog/posts/unit-test-xcode-previews/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文介绍了如何利用单元测试加强 Xcode Previews 能力的可靠性。Xcode Previews 是一个非常方便的开发工具,但是它在有些时候也非常脆弱,如果有人在一个 view 上添加了 `@EnvironmentObject` 标志,所有调用到这个 view 的 preview 场景如果没有注入这个变量就会发生 crash。在代码量较少时还能及时发现,但是在一个庞大的项目中,view 的层级很深的话很难完全覆盖到所有需要修复的 preview 场景。而借助一个三方的 SnapshotPreviews 框架,它能够自动帮助我们在运行时查找所有实现了 PreviewProvider 的 preview 并添加到单元测试中进行执行。这样可以非常轻松的确保我们的 preview 都能成功运行了。
+
+## 代码
+
+### MetalLibraryArchive
+
+MetalLibraryArchive 是一个 Apple 的 metallib 的逆向库,可以解析出 metallib 的 library 类型,目标平台和包含的所有函数。
+
+函数的信息包含了:
+
+- 函数名
+- 函数类型 - 例如 vertex/fragment/kernel 等等
+- Metal Shading Language 的版本
+- 函数的 bitcode 等效表达式(底层使用 llvm-dis)
+- 函数源码(如果 metallib 包含了源码的话)
+
+另外也提供了一个[在线的 demo](https://yuao.me/MetalLibraryExplorer/),对于想要逆向 Metal 的朋友来说是非常有用的工具。
+
+## 音视频
+
+### 🐎 [为什么 C 口数据线越来越乱?](https://www.bilibili.com/video/BV1j7zzYGEp9/)
+
+[@极速男孩](https://github.com/ztlyyznf001):苹果在 2023 的 iPhone15 中首次才用了 USB-C 作为数据线,不少用户会发现在有些 Android 的充电线在 iPhone 上无法实现快充或者无法充电。这个视频主要介绍了 USB-C 协议这些年来的混乱的标准和不同公司使用的各种快充协议。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#319-2025.01.06.md b/Reports/2025/#319-2025.01.06.md
new file mode 100644
index 000000000..44b4ac39c
--- /dev/null
+++ b/Reports/2025/#319-2025.01.06.md
@@ -0,0 +1,62 @@
+# 老司机 iOS 周报 #319 | 2025-01-06
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [聊聊 Flutter & Dart 里的内存泄漏和优化,也许没你想的那么复杂](https://mp.weixin.qq.com/s/_88yMWWkLI6fFPHhqMdc2w)
+
+[@Crazy](https://github.com/jiyan135960):本篇文章简单的聊了一下有关 Flutter 的内存泄漏问题,主要从持续引用和全局引用两个方面为大家讲解了一下 Flutter 最容易引起内存泄漏的几个地方。全文很短,作者集中测试了 Timer 与 AnimationController 两个类在引用上的区别,以及如何处理这两个类造成的内存泄漏问题。在 Android 与 iOS 原生应用的开发中,已经有成熟的框架来减少 context 导致的内存泄漏的问题了。同时也期待 Flutter 有一天可以开发出类似的框架,来解决关于 context 引用的问题。
+
+### 🐕 [百度 APP iOS 端磁盘优化实践(上)](https://mp.weixin.qq.com/s/YNd8-NKVdql3pRNImwxyTA)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):在 APP 开发中,磁盘管理已成为不可忽视的部分。随着功能的复杂化和数据量的快速增长,高效管理磁盘空间直接关系到用户体验和 APP 性能。本文围绕百度 APP 的磁盘清理问题,从 iOS 沙盒文件存储机制出发,系统性地阐述了磁盘管理的重要性和技术实现。通过自动清理与手动清理的结合策略,以及多维度触发机制和灵活的用户交互设计,平衡了系统性能与用户体验。
+
+### 🐎 [Preventing Accidental API Breaks: A Swift Developer's Guide to API Diffing](https://www.adyen.com/knowledge-hub/swift-api-diff)
+
+[@DylanYang](https://github.com/Dylan19Yang):在 SDK 的维护过程中,检测是否有 API 破坏性变更的发生是非常重要的一件事。作者提供了三种方式用于这类检测。一是通过 swift package 自带的工具,但是对 iOS target 使用会有异常,第二种方式是结合 xcodebuild 和 swift-api-digester,第三种则是作者开源的一个工具 Swift Public API Diff,它的优点是输出结果的可读性更好。同时作者也给出了一些维护 API 稳定性的建议。感兴趣的读者可以阅读本文了解更多。
+
+### 🐢 [Compile Metal shader Bitcode to x86 and ARM assembly](https://worthdoingbadly.com/metalbitcode/)
+
+[@ChengzhiHuang](https://www.github.com/ChengzhiHuang):作者通过逆向的手段研究了从 metal 代码到 air 文件([LLVM Bitcode](https://llvm.org/docs/BitCodeFormat.html)),最后到 metalib 文件(产物)的过程,期间根据经验进行合理猜测验证,通过寻找原始函数字符串、magic number 、长度偏移量 等还原了文件的结构,并最终提供了将 metalib 文件重新 disassemble 为 air 文件的脚本。
+
+最后作者还尝试直接使用 LLVM 将 air 文件重新 compile 成最终的 ARM/x86 的机器码,尽管这些最终产物并不适合直接提交给 GPU 运行,但是也证明了 LLVM 是可以处理来自 metal 的 Bitcode 的。
+
+内容与过程非常翔实,推荐工作中需要与 Metal 打交道的同学阅读。
+
+前置知识:LLVM 是三段式的设计,而 LLVM 会将 IR 转为 Bitcode ,Bitcode 依旧是可以兼容多平台的中间代码,因此可以最终翻译为各个平台的代码。
+
+### 🐢 [什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap](https://mp.weixin.qq.com/s/oiwfzBiednsQQgSCG-K_0g)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 如标题所言,Flutter 的 UI 组件编码方式一直被开发者们所诟病,本文通过对与 SwiftUI 和 ArkUI 以及参考 Flutter 新一年的 roadmap 做出了一些简单类比。在小编看来这不失为是一个代码结构的优化,毕竟末尾的 '括号山' 还是很高的。
+
+## 代码
+
+### 🐢 [Home Assistant iOS](https://github.com/home-assistant/iOS)
+
+[@阿权](https://github.com/bqlin):Home Assistant iOS 客户端,代码全部开源。Home Assistant 是一款开源的智能家居自动化平台,允许用户控制所有连接到同一网络的智能家居设备。项目文档详实,甚至面向零基础用户,了解该项目是入门智能家居的最佳实践。了解各平台能力对比可阅读 [Home Assistant Feature overview](https://companion.home-assistant.io/docs/core/)。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#320-2025.01.13.md b/Reports/2025/#320-2025.01.13.md
new file mode 100644
index 000000000..7b9fc6b0f
--- /dev/null
+++ b/Reports/2025/#320-2025.01.13.md
@@ -0,0 +1,64 @@
+# 老司机 iOS 周报 #320 | 2025-01-13
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐎 [Algorithm changes to server connections for Apple Pay on the Web](https://developer.apple.com/news/?id=2x8awlvm)
+
+[@Damien](https://github.com/ZengyiMa):从 2025 年 2 月 4 日开始,苹果将改变支持 Apple Pay 在 Web 上的服务器连接的安全算法。为了保持服务不间断,你需要确保你的生产服务器在这个日期之前支持指定的[六种密码之一](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server#overview)。
+
+## 文章
+
+### 🐕 [Xcode Library customization with SPM plugin](https://www.artemnovichkov.com/blog/xcode-library-customization-with-spm-plugin)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文探讨了如何通过 Swift Package Manager 插件自动将自定义 SwiftUI 视图和修饰符集成到 Xcode Library 中。
+
+通过实现 `LibraryContentProvider` 协议,开发者可以将自定义组件引入库中,提升可重用性和发现性。然而,手动维护这些集成可能会很繁琐。作者通过利用 SwiftSyntax,开发了一份插件来自动化此过程,这种方法简化了将自定义组件集成到 Xcode 库中的过程,减少了手动操作和潜在错误。
+
+### 🐕 [数据编织在AB实验自动化中的应用 | 京东零售技术实践](https://mp.weixin.qq.com/s/NMPot2AfEtsWXVPowZBDOA)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文讨论了数据编织在 AB 实验中的应用,强调其重要性以及面临的数据科学性、一致性和时效性挑战,并提出相应的自动化解决方案。内容涵盖数据编织的管理理念、逻辑数据平台构建、标准语义建立及自动编排等关键技术。最后,展示了 AB 实验链路的自动化实施进展及未来规划,强调提升交付效率和数据治理的必要性。
+
+### 🐢[使用火山引擎 APMPlus 优化 iOS 内存性能的全套指南](https://mp.weixin.qq.com/s/3qDQJXXiVl9gF-q5KtbxVw)
+
+[@阿权](https://github.com/bqlin):文章本是 APMPlus 的软文,一套全面的性能监控的解决方案,但偏偏还为大家罗列了 21 条内存管理的最佳实践,并介绍了 OOM 监控的基本原理与手段。干货满满,都是我们日常开发中高频遇到的场景,或许它能成为内存问题踩坑时的自查小册。
+
+### 🐕 [What happens when you move a file in git?](https://swiftrocks.com/what-happens-when-you-move-a-file-in-git)
+
+[@JonyFang](https://github.com/jonyfang): 文章主要介绍了在 Git 中移动或重命名文件及文件夹时的内部工作原理,包括文件以快照形式存储、文件夹与提交的关联、重命名或移动操作对存储的影响及优化方法,还提及了大文件的特殊处理情况。文中对 Git 文件的操作机制的介绍,对日常开发中文件结构调整会有帮助,降低因操作不当引发的仓库性能问题风险。
+
+## 代码
+
+### 🚧 [Now we’re all Forked!](https://appdecentral.com/2024/12/13/now-we-are-all-forked)
+
+[@Cooper Chen](https://github.com/cjlcooper):Forked 是一个简化共享数据管理的 Swift 工具,专为多设备数据同步和冲突解决设计。借鉴 Git 的分支和合并机制,Forked 能轻松实现三方合并(3-way merge),并自动处理并发冲突。该工具支持与 iCloud 等云服务同步,确保跨设备的数据一致性,并通过简洁的 API 帮助开发者快速实现数据合并和冲突解决。无论是离线编辑还是实时协作,Forked 都能提供高效、可靠的数据管理方案。如果你需要在应用中实现智能数据同步和冲突解决,Forked 是一个理想选择。了解更多并开始使用 Forked,查看官方文档:[Forked GitHub 仓库](https://github.com/drewmccormack/Forked)。
+
+### 🐢 [解密小红书与美团的合作案例](https://www.xiaoyuzhoufm.com/episode/676e5d051e823e72d332d12e)
+
+[@EyreFree](https://github.com/EyreFree):播客主要探讨了小红书与美团两大平台的战略合作,美团正在寻求从单纯的效果营销转向更注重品牌价值和用户心智的增长方式,而小红书则凭借其独特的内容生态和用户群体特征,成为流行生活趋势的策源地。双方合作的核心在于优势互补:美团有流量但缺乏优质内容,小红书拥有丰富的 UGC 内容但需要商业变现出口。这次合作反映了内容平台与交易平台的融合趋势,也展示了"反漏斗模型"在实际商业场景中的应用。虽然可能离具体的技术开发较远,但对互联网商业逻辑感兴趣的朋友可以听一下。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#321-2025.01.20.md b/Reports/2025/#321-2025.01.20.md
new file mode 100644
index 000000000..3c3602edb
--- /dev/null
+++ b/Reports/2025/#321-2025.01.20.md
@@ -0,0 +1,85 @@
+# 老司机 iOS 周报 #321 | 2025-01-20
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+这就是春节前最后一期周报啦,下周老司机编辑部也会开始春节假期,提前祝大家新春快乐!
+
+## 文章
+
+### 🌟 🐎 [探究 SwiftUI Preview 的工作原理](https://onee.me/zh/blog/how-new-xcode-swiftui-preview-works-under-the-hood/)
+
+[@JonyFang](https://github.com/jonyfang): 在 SwiftUI 开发中,Xcode Preview 常出现崩溃或卡死问题,如果不了解其工作原理,通常只能用清除缓存、重启 Xcode 等方法解决。作者通过将 DerivedData 文件夹加入 Git 管理,观察其变化来研究 Preview 原理。其运行机制上,Xcode 16 起 Build and Run 与 Preview 共享构建产物,Preview 用 JIT 方式运行且有特殊预处理过程。Preview 有 Small、Middle、Large 三种重构建策略,依源代码修改程度决定范围与刷新方式。与 Flutter 的 Hot Reload 相比 Xcode Preview 的表现逊色,不支持断点调试,视图状态会重置,实现更黑盒,但仍期待 Xcode 后续对 Preview 优化。
+
+### 🐢 [Using Copilot to write a raindrop audio synthesizer using AVAudioEngine](https://www.cocoawithlove.com/blog/copilot-raindrop-generator.html)
+
+[@EyreFree](https://github.com/EyreFree):本文分享了作者使用 GitHub Copilot 开发一个用 AVAudioEngine 实现的雨滴音频合成器的经历。文章评估了 Copilot 在实际开发中的优缺点:
+
+优点:
+1. 在处理不熟悉的 SDK 时能快速提供解决方案;
+2. 能实现复杂算法(如粉噪音生成);
+3. 擅长跨语言代码转换(如 C++ 到 Swift)且基本不会产生语法错误。
+
+缺点:
+1. 代码质量欠佳,存在大量重复和不必要的抽象,常忽略指令的部分要求;
+2. 对最新的语言特性支持不足,线程安全处理不当;
+3. 手动修改代码后容易与 Copilot 聊天上下文不同步。
+
+使用 Copilot 就像在指导一个热情但经验不足的新手程序员,虽然在某些场景下能提高效率,但需要权衡使用 Copilot 编写代码与手动修复其产生的问题之间的时间成本,因为和 Copilot 的交互是「一次性」的,AI 并不会真的累积这些进步。
+
+
+### 🐎 [Creating interactive tutorials using DocC](https://www.nutrient.io/blog/creating-interactive-tutorials-using-docc/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 文章介绍了如何使用 DocC 创建交互式教程。通过 DocC,可以将静态的文档内容转变为交互式的体验,允许用户在文档中点击、操作,并快速找到他们所需的信息。此外,文章还展示了如何集成代码示例、自定义预览图片和课后小测,提供了更具互动性和可操作性的开发者学习体验。
+
+### 🐎 [Creating a SwiftUI text view with tappable links](https://danielsaidi.com/blog/2024/12/18/creating-a-swiftui-text-view-with-tappable-links)
+
+[@Bluesjiang](https://github.com/bluesjiang): 文章介绍了一种在 SwiftUI 中实现可点击超链接效果的文本。因为 SwiftUI 原生没有提供对应中间。文章的作者很巧妙的利用了 SwiftUI 中 `Text` 支持 Markdown 的渲染来实现这一效果。作者还简单编写了一个组件来帮你快捷的构建 Markdown 超链接的内容。比较适合刚入门 SwiftUI 的同学实践自定义 UI。
+
+### 🐕 [Size Matters: An Exploration of Virtual Memory on iOS](https://alwaysprocessing.blog/2022/02/20/size-matters)
+
+[@阿权](https://github.com/bqlin):文章作者发现开启扩展虚拟内存(Extended Virtual Addressing)能够解决调试 App OOM 的问题。文中详细介绍了以下内容:
+
+1. 虚拟内存的原理、作用;
+2. iOS 中虚拟内存:
+ 1. iOS 虚拟内存的特殊性:No Page Outs;
+ 2. iOS 虚拟内存空间大小的计算方式;
+ 3. iOS 不同设备进程可用的虚拟地址空间大小;
+ 4. 调试 App 出现 OOM 的原因:除了程序自身的 Mach-O、依赖库占用内存,还需为调试环境预留内存;
+ 5. 通过开启扩展虚拟内存(Extended Virtual Addressing)来防止调试出现 OOM。
+
+文章遇到的情况在许多大型项目跑在低端设备上都会经常出现,了解虚拟内存对调试开发都很有帮助。
+
+### 🐢 [Type-Driven Design with Swift](https://swiftology.io/collections/type-driven-design/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者通过一系列文章向我们介绍了类型驱动设计的概念。类型驱动设计的核心是通过类型自身来传递更多信息,一个非空类型比一个 Optional 类型包含了更多信息(非空),一个自定义的 Email 类型可以比单纯的 String 包含更多信息,例如在一个 Email 结构的初始化中校验 String 的格式是否正确,通过传递 Email 类型而不是 String 来保留这份格式校验的信息。以此类推,把更多的逻辑通过自定义类型封装起来,通过巧妙的设计类型来抹除原本可能出现的错误状态,然后在类型和类型之间通过领域化来划分、拆解,使得整个设计思路更清晰。本系列通过丰富的 demo 对类型驱动设计这一概念有较深入的阐释,感兴趣的读者可以花时间阅读下这个系列。
+
+## 代码
+
+### 🐎 [echarts](https://echarts.apache.org/examples/zh/index.html#chart-type-line)
+
+[@极速男孩](https://github.com/ztlyyznf001): ECharts 是一个开源的可视化库,广泛用于创建交互式图表。线性图表常用于表示数据趋势,X 轴通常为时间或类别,Y 轴为数值。ECharts 支持多条数据线展示、交互式操作(如悬停显示数据),并可高度自定义图表样式,如颜色、线条类型、动画等。用户通过 JSON 配置来定义图表内容,适用于销售、气温等多种数据展示。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#322-2025.02.10.md b/Reports/2025/#322-2025.02.10.md
new file mode 100644
index 000000000..47518793d
--- /dev/null
+++ b/Reports/2025/#322-2025.02.10.md
@@ -0,0 +1,91 @@
+# 老司机 iOS 周报 #322 | 2025-02-10
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又来新人啦~**
+
+欢迎 [zhangferry](https://zhangferry.com) 加入老司机技术!ferry 是我们的老朋友了,作为摸鱼周报的主编输出了大量优质内容,同时也深度参与了历年 WWDC 内参担任审核。目前 ferry 在抖音基础技术团队从事代码分析相关工作,对 LLM 与 Stable Diffusion 也有涉猎。
+
+**希望 ferry 的加入也能为大家带来更多元化的内容输出!**
+
+## 新闻
+
+### [Apple 开源 Xcode 底层构建引擎](https://www.swift.org/blog/the-next-chapter-in-swift-build-technologies/)
+
+[@kemchenj](https://kemchenj.github.io/):Apple 近日开源了 swift-build,它是 Xcode、Swift Playground 底层使用的构建引擎(在 Xcode 里名为 XCBBuildService)。
+
+目前 Swift Package Manager 使用的是另一套单独编写的构建引擎,同时维护两套除了行为不同会让用户困惑,并且维护成本也很高,所以后续 SPM 也会改为使用 swift-build,统一构建系统。
+
+这样也给了我们机会一窥 Xcode 里的构建逻辑,以往很多问题都可以直接在这个库里找到答案,对于 Xcode 构建逻辑感兴趣的你千万别错过。
+
+
+### [不再依赖 CallKit,iOS 微信使用新方案实现通话弹窗接听](https://mp.weixin.qq.com/s/6hw75UXjqGGBfNmuH3_cVQ)
+
+苹果上线了新的 LiveCommunicationKit 作为在中国大陆替代 CallKit ,从用户视角分析,与 CallKit 最大的区别就是适配了灵动岛。目前[文档内容](https://mp.weixin.qq.com/s/6hw75UXjqGGBfNmuH3_cVQ)不多,期待 WWDC25 中能有更详细的内容。
+
+## 文章
+
+### 🌟 🐢 [Debugging An Undebuggable App](https://bryce.co/undebuggable/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):作者记录了他尝试注入一个应用时遇到的全过程,其中使用的技巧与思路清晰明确,值得所有需要逆向相关工作的同学阅读。简单列举一些其中让我感到受益匪浅的知识(并非全部):
+1. 直接调用 ``ptrace(PT_DENY_ATTACH, 0, 0, 0);`` 可以阻止后续所有的 debugger(lldb) attch。需要注意 ptrace 在 iOS 上是私有函数,需要通过 dlsym 查找。如果应用使用这种方式加固,则可以通过符号断点并 ``thread return`` 跳过当前函数的剩余指令解决。
+2. ptrace 本质是 ``svc #0x80`` 等汇编指令的集合,因此可以直接通过汇编指令调用,就能避免应用程序绕过 dlsym 寻找 ptrace 来进行调用(这样也能避免一些审核时的私有 API 扫描)。
+3. 在未知的二进制中搜索带有特殊含义的汇编,例如搜索 ``mov x16, #0x1a`` 与 ``mov w16, #0x1a`` 就比搜索 svc 效率更高。因为 x16/x17 是一般是跳转校验用的特殊寄存器,很少挪作他用。
+4. ``br s -a 0x102A2BB14 -s XXXBinary`` 意思是设置断点,在相对 XXXBinary 的 loadAddress + 0x102A2BB14 的位置。这样可以避免每次启动 App 时 iOS 的 ASLR 机制会随机 loadAdfress 位置而需要重复计算实际的断点地址。同样我们日常调试时也可以相对我们自己的二进制或者系统库(UIKit / SwiftFoundation 等)设置断点。
+5. 通过无限循环调用 [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:YES/NO] 可以制造出 OOM ,进而直接让 iOS 系统崩溃而重启(System OOM)。
+
+### 🐎 [Advantages of Using withAnimation](https://www.magnuskahr.dk/posts/2025/01/advantage-of-withAnimation/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章比较了 SwiftUI 中在视图声明上使用 .animation(...) 和在操作中使用 withAnimation 的差异。前者仅动画视图自身,当需要让布局或其他视图也平滑过渡时就会出现视图跳动等问题。使用 withAnimation 则能让所有相关布局变化一并参与动画,尤其在 ScrollView 等场景下可确保整体体验平滑无跳跃。
+
+### 🐢 [Hardcore Debugging](https://blog.jacobstechtavern.com/p/hardcore-debugging)
+
+[@zhangferry](zhangferry.com):当调试应用发生崩溃,崩溃信息只有系统堆栈没有源码时,会影响我们定位问题。针对这类场景,文中提供了两种解决方案:
+
+1. 利用 `git bisect`,在正常 commit 和引入问题 commit 之间,通过二分法定位首次引入问题的 commit,来最大限度缩小排查范围。
+2. 提取崩溃日志,利用 atos 进行符号化,可以更精准定位问题代码。其中还分享了一个 tips,当 atos 执行异常时,可以根据偏移地址在 dSYM 里的 `Relocations/aarch64/xx.yml` 文件中手动解析符号。
+
+### 🐎 [Compose 多平台是真实存在的!](https://whackylabs.com/swift/kotlin/compose/2025/01/12/compose-multiplatform-is-real/)
+
+[@极速男孩](https://github.com/ztlyyznf001):该文章分享了作者使用 Kotlin Multiplatform 与 Compose Multiplatform 的体验。通过网页工具快速生成项目模板,并在 Android Studio 中打开,然后简单实现了一个 PhotoApp,实现多平台代码共享。虽然依赖配置略有挑战,但可直接在 Android Studio 中运行 iOS 应用。
+
+### 🐢 [深入 Flutter 和 Compose 的 PlatformView 实现对比,它们是如何接入平台控件](https://mp.weixin.qq.com/s/FCu6OiZRh6EcmCWLB904jA)
+
+[@david-clang](https://github.com/david-clang):本文深入介绍 Android 侧 Flutter 和 Compose 在内嵌 Platform Views 的实现对比。虽然 Compose 和「传统 XML View」 在上层开发是两种写法,但因为底层渲染机制都是 Android Native View 的同一套渲染机制,所以无论内嵌 Platform Views 是否为 SurfaceView,都能正常渲染,甚至官方还推出了 SurfaceView 对应的 Compose 封装 [AndroidExternalSurfaceScope](https://developer.android.com/reference/kotlin/androidx/compose/foundation/AndroidExternalSurfaceScope)。而 Flutter 和内嵌的 Platform Views 是两套渲染流程,连渲染数据的生产线程都不同,而且在内嵌 SurfaceView 时的渲染模式会从 [TLHC](https://docs.flutter.dev/platform-integration/android/platform-views#texturelayerhybridcomposition) 降级为 VD(这会影响 SurfaceView 交互逻辑,如无障碍功能可能失效),对此官方还没很完美的兼容方案(截止 2 月 9 日,Android 侧 Platform Views 相关的 [issue](https://github.com/flutter/flutter/issues?q=is%3Aopen%20is%3Aissue%20label%3A%22a%3A%20platform-views%22%20label%3Aplatform-android) 还有 100 个是 open 状态)。
+
+### 🐕 [深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比](https://mp.weixin.qq.com/s/756kaH11g0rM7dlklLSiuA)
+
+[@Crazy](https://github.com/jiyan135960):这是一篇针对 Flutter 与 Compose 两个框架的 Diff 机制讲解的文章,本篇文章首先对 Flutter 的 Diff 机制进行分析,从 setState 方法开始逐步讲解 Flutter 框架的 Element 树是如何进行对比判断与循环更新的。很多 Flutter 开发者开发了两三年的 Flutter 也不知道 Widget 中的 Key 的作用,这篇文章很好的告诉了你 Key 与 runtimeType 的对比位置,也会让大家对 Key 的理解有更深的体会。文章对 Compose 的 Diff 算法进行了分析,Compose 与 Flutter 不同,Compose 是两个树来进行 UI 管理,同样在 Compose 的对比过程中,它的 Key 也启到了至关重要的作用,Compose 的 Diff 相较于 Flutter 更加的复杂,因为涉及到了多个模块的协作问题。本文读起来很快,但是需要大家反复阅读,如果有时间也可以根据文章所说的对源码进行自己的分析,会有不一样的效果。
+
+## 工具
+
+### 🐎 [Network Link Conditioner: Simulating Slow Networking](https://www.avanderlee.com/debugging/network-link-conditioner-utility/)
+
+[@阿权](https://github.com/bqlin):Network Link Conditioner 是苹果提供的慢网模拟工具,支持 macOS 和 iOS,其提供几套预设的网络环境供用户直接切换,常用于调试网络环境不佳下的网络请求或其他连接,优化用户体验,文章详细介绍了在该工具在各平台的使用方法。
+
+比较有趣的是在模拟器上模拟慢网时还提到了另外一款工具 [RocketSim](https://www.rocketsim.app/?utm_source=swiftlee&utm_medium=article&utm_campaign=network_link_conditioner),该工具可以独立控制模拟器的慢网模拟,不影响 macOS 其他进程,另外该工具还支持网络抓包、UI 稿对比、网格像素对齐、标尺、程序状态切换、Deeplink 测试、推送测试、权限控制、定位模拟等功能,功能丰富强大,可惜只能作用在模拟器。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#323-2025.02.17.md b/Reports/2025/#323-2025.02.17.md
new file mode 100644
index 000000000..2a68deb48
--- /dev/null
+++ b/Reports/2025/#323-2025.02.17.md
@@ -0,0 +1,94 @@
+# 老司机 iOS 周报 #323 | 2025-02-17
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Updating the Visual Studio Code extension for Swift](https://www.swift.org/blog/vscode-swift-2/)
+
+[@Cooper Chen](https://github.com/cjlcooper):Swift 团队正式支持 Visual Studio Code 中的新版本 Swift 扩展,旨在提升跨平台开发体验。原有扩展已迁移至 GitHub /swiftlang 组织,确保更广泛的社区支持和持续更新。对于现有开发者,升级过程无缝衔接,旧版扩展会自动替换为新版,用户可以轻松过渡。如果你是 Swift 开发者,可以尽快更新以体验更多功能和改进。
+
+## 文章
+
+### 🐕 [Creating a reusable action menu component in SwiftUI](https://peterfriese.dev/blog/2025/swiftui-action-menu/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章详细介绍了如何通过 SwiftUI 构建一个高度复用、和 Apple Mail 中的操作菜单风格一致的动作菜单组件:
+
+- 视图构建器与解耦:通过 `@ViewBuilder` 允许动态注入菜单内容,提升组件的通用性
+- SwiftUI 风格系统:利用 `LabelStyle` 和 `ButtonStyle` 统一管理样式,确保视觉一致性
+- 封装与复用:通过视图修饰符将复杂逻辑隐藏,调用时仅需链式语法(如 `.actionMenu {title: ..., isPresented: ...}`),类似 SwiftUI 原生 API 的体验
+
+作者也提供了配套的 GitHub 库([ActionMenu](https://github.com/peterfriese/ActionMenu)),支持通过 Swift Package Manager 集成。
+
+### 🐎 [Attaching debugger to system apps](https://supersonicbyte.com/blog/attaching-debugger-to-system-apps/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 作者分享了调试 iOS 模拟器中系统 App 的一些经验:在关闭 macOS SIP 后我们即可对任何进程进行调试,然后使用 `simctl` 命名启动对应系统 App 并获取 PID,最后在 Xcode 中对该 process 进行 debug 即可。
+
+### 🐎 [Attending Apple Intelligence and App Intents workshop at Paris](https://blog.thomasdurand.fr/story/2025-01-17-attending-apple-workshop/)
+
+[@Smallfly](https://github.com/iostalks):这是一篇苹果在巴黎举办的技术研讨会议内容,主题围绕如何通过 Apple Intelligence 和 App Intents 框架增强应用功能,提升系统集成能力。涵盖从代码实现到系统集成的关键步骤,并透露出苹果在智能化和本地化功能上的战略布局。
+
+iOS App Intents 是苹果生态中实现「功能原子化」的核心工具,通过标准化接口打通应用与系统的边界。开发者通过定义意图和实体,即可将应用融入 Siri、搜索、自动化等场景,为用户提供无缝、智能的体验。随着 Apple Intelligence 的深化整合,其应用潜力将进一步释放,对于关注 AI 集成的开发者,有较高的参考价值。
+
+### 🐢 [Flutter 3.29 发布,看起来会是一个“大坑”的版本](https://mp.weixin.qq.com/s/_uA5XYYqmzbtTVCtqRPI7w)
+
+[@david-clang](https://github.com/david-clang):本文结构和内容参考 Flutter 技术项目经理的 [What ’ s new in Flutter 3.29](https://medium.com/flutter/whats-new-in-flutter-3-29-f90c380c2317) ,作者在官方软文报喜不报忧的基础上,给出开发者角度的担忧,例如:
+
+1. Dart 代码会直接在 Android 和 iOS 的主 UI 线程上运行,而不是单独的 Dart UI 线程,此时 Dart 和平台调用直接可以同步执行。
+2. 没有 Vulkan 驱动的 Android 设备将回退到在 OpenGLES 上运行的 Impeller,而不是使用 Skia。
+3. 移除了 Flutter Gradle 插件,之前没迁移的需要手动迁移适配。
+
+而且 Flutter 创始人 [Eric](https://github.com/eseidel) 也对“废弃 Dart 独立 UI 线程”发表了 [comment](https://github.com/flutter/flutter/issues/150525#issuecomment-2652547816),表怀疑态度,比如 Dart 和 Native 平台同一线程之后,那么「滚动 / 动画」是否会因此出现相互影响,特别是第三方插件处理不当的时候,反而可能更加卡顿。官方回复 Eric 这利大于弊,而 Eric 表示后面有空整理文档回复该讨论。
+
+## 工具
+
+### 🐢 [SweetPad: Develop Swift/iOS projects using VSCode](https://github.com/sweetpad-dev/sweetpad)
+
+[@阿权](https://github.com/bqlin):之前你可能听说过 VSCode 插件 [Swift Programming Language](https://marketplace.visualstudio.com/items?itemName=swiftlang.swift-vscode),官方大力宣传 Swift 可以跨平台开发了,但也就仅限于开发 Swift 了(语法高亮、代码补全、错误检查、Swift Package Only),还是不能取代 Xcode 进行 iOS 开发。
+
+SweetPad 或许能做到这一点,其也是一款 VSCode 插件,旨在使用 VSCode 开发 Swift/iOS 项目,成为 Xcode 以外的替代 IDE 方案。SweetPad 通过集成各种开源工具(swift-format、swiftlint、xcodebuild、xcrun、xcode-build-server、sourcekit-lsp 等)直接在 Xcode 生成(当然也可以用 [XcodeGen](https://github.com/yonaskolb/XcodeGen) 或 [Tuist](https://tuist.io/) 生成)的项目文件进行开发、运行和调试。换句话说,SweetPad 通过各种命令行工具实现并对齐 Xcode 的各项能力。
+
+SweetPad 目前实现能力有:
+
+- Xcode 项目文件编辑:通过 Tuist 工具实现。
+- 自动补全(SourceKit-LSP)、单元测试:通过 [Swift](https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang) 插件 + [xcode-build-server](https://github.com/SolaWing/xcode-build-server) 工具实现。
+- 调试:通过 [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb) 实现。
+- 运行到模拟器和真机:通过 `xcrun simctl` 和 `xcrun devicectl` 命令行实现。
+- 格式化:通过 [swift-format](https://github.com/apple/swift-format) 实现。
+
+SweetPad 还没使用最近开源的 [swift-build](https://github.com/swiftlang/swift-build),还是使用 `xcodebuild` + `sourcekit-lsp` 的方案,所以还是得安装 Xcode 环境。另外,诸如 SwiftUI Preview、XIB/Stroyboard 可视化、签名证书管理等也尚未支持。
+
+之前 [#224](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/Reports/2023/%23244-2023.05.15.md) 周报有提到 [用 VSCode 基于 Bazel 打造 Apple 生态开发环境](https://mp.weixin.qq.com/s/7UJdgJIYWkhzSjtKsHqC2g) 则是实现一套 Bis + Bazel 编译系统的 VSCode 开发环境,感兴趣的同学可以对比着阅读。
+
+## Tips
+
+### [一个使用 Instrument 的小技巧](https://github.com/SwiftOldDriver/iOS-Weekly/issues/4871)
+
+[@Barney](https://github.com/BarneyZhaoooo):Instrument 录制结束卡顿很久或者秒退时,可用的设置。只采集最后几秒的数据,对于一些需要前置操作一段时间才能复现的问题时,会有较大帮助。在处理大量长时间数据时,Instrument 会有较大卡顿并消耗大量内存,此时就可以开启这个选项。
+
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#324-2025.02.24.md b/Reports/2025/#324-2025.02.24.md
new file mode 100644
index 000000000..88e8c4ff8
--- /dev/null
+++ b/Reports/2025/#324-2025.02.24.md
@@ -0,0 +1,75 @@
+# 老司机 iOS 周报 #324 | 2025-02-24
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [iOS & iPadOS 18.4 Beta 1: Here’s everything new](https://9to5mac.com/2025/02/21/ios-18-4-beta-1-heres-everything-new/)
+
+对于中国用户最期待的自然是中文版本的 Apple Intelligence 终于可以使用了,[Release Notes](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-18_4-release-notes#Apple-Intelligence) 有两条相关提醒:
+
+1. 对于中文(非英语),使用 Apple Intelligence 需要前置打开 Siri ,并允许通过任意方式唤醒 Siri 。
+2. 还原设备后,可能出现 Apple Intelligence 出现 "Downloading support …" 的报错,此时重启设备后问题可能可以解决(原文用词是 might resolve ,尚不清楚是否有 bad case)。
+
+## 文章
+
+### 🐎 [Understanding SwiftUI Preferences](https://peterfriese.dev/blog/2025/swiftui-preferences-swift6/#what-are-preferences-in-swiftui)
+
+[@JonyFang](https://github.com/JonyFang): 本篇主要介绍了 SwiftUI 中的 Preferences 机制,讲述了其在父子视图间传递数据的作用。 作者通过具体示例,展示了如何利用 Preferences 构建自定义视图,如表单验证功能。 此外,文章还讨论了 Swift 6 中与 Preferences 相关的问题,提供了对开发者有价值的见解。 总的来说,这篇文章为开发者深入理解和应用 SwiftUI 的 Preferences 提供了清晰的指导。
+
+### 🐢 [The Synchronization Framework in Swift 6](https://blog.jacobstechtavern.com/p/the-synchronisation-framework)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者为我们介绍了 Swift 6 和 iOS 18 下的新同步框架,其中主要包含了两个底层结构 Mutex 和 Atomics。作者在本文中对这两个新的能力做了较为详细的说明和性能比对。Mutex 能使得对被他包裹的数据的访问自动上锁,在性能上和手动通过代码上锁区别不大,但是相比使用 Actor 有不少提升。不过相比 Actor 的缺点自然是锁会阻塞当前线程。而 Atomic 则可以使被他包裹的操作都为原子操作不会被并发打断。从性能上看它和 Actor 比并没有较大优势,因此大多数情况下使用 Actor 已经足够。对同步框架感兴趣的读者可以花时间阅读下本文。
+
+### 🐎 [The Framework Next Door](https://www.elkraneo.com/the-framework-next-door)
+
+[@BluesJiang](https://github.com/BluesJiang): 这篇文章分享了他们在制作密室逃脱场景下,使用 TabletopKit 来开发一个 VisionOS 的应用。这个主要是针对桌面游戏的需求来设计的框架,支持多人互动,桌面的 Persona 布局,还有丰富的交互能力。有兴趣给 Vision Pro 开发桌面游戏的可以调研一下这个框架。
+
+### 🐎 [解决 Xcode 16 "Waiting to reconnect to ..." 问题](https://stackoverflow.com/questions/79016653/after-upgrading-to-xcode-16-i-am-stuck-at-waiting-to-reconnect-to-when-tryi)
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章主要解决了在升级到 Xcode 16 后,无法在 Apple TV(tvOS 17.7)上构建应用的问题。错误提示显示 DDI(Developer Disk Image)内容过时,导致设备无法连接。最终,运行 `xcrun devicectl manage ddis update` 命令更新 DDI 后,问题得以解决。这个方法不仅适用于 tvOS,也可以解决 iOS 开发中的类似问题,帮助开发者应对 Xcode 16 引入的新 DDI 管理方式。
+
+### 🐢 [asm lessons](https://github.com/FFmpeg/asm-lessons)
+[@老驴](https://weibo.com/u/6090610445):很多人敲碗等待的 FFmpeg 汇编课终于来了。FFmpeg 现在基本是业界最重要的开源视频编解码库了。这种对于性能极度敏感的库,自然会有一些特殊手段来进一步优化性能。FFmpeg 团队就在库里使用了大量的汇编,按照他们的说法,可以大幅提升性能。但是现在会手写汇编语言的人也越来越少,所以很多人就敲碗让团队出一个汇编课程。这就是这个课程的来历。略微可惜的是,这个课程目前是基于 x86 的汇编,不过团队也说之后会添加 ARM 的汇编内容。鉴于 FFmpeg 在业界的地位,值得大家花一点时间来学习一下。
+
+## 工具
+
+### 🐎 [你的 iPhone 也可以离线运行 DeepSeek「含原理介绍」](https://mp.weixin.qq.com/s/oXfrBKwZzXIzg-k_KRQEbQ)
+
+[@EyreFree](https://github.com/EyreFree):本文为大家介绍了一款能在 iPhone 上运行 LLM 的应用 fullmoon,它的下载链接为 [https://apps.apple.com/app/id6727014156](https://apps.apple.com/app/id6727014156),能直接运行 mlx-community/DeepSeek-R1-Distill-Qwen-1.5B-4bit 模型,还给出了配置步骤,其原理基于苹果的 MLX Swift 实现,iOS 开发者可通过修改 LLMEval 例子来运行 DeepSeek。作者自测 iPhone 16 Pro 能运行 1.5B 和 7B 模型,感兴趣的朋友可以下载体验。
+
+## Tips
+
+### 🐎 [DispatchConcurrentQueue 可用性提示](https://github.com/SwiftOldDriver/iOS-Weekly/issues/4870)
+
+[@Damien](https://github.com/ZengyiMa):DispatchConcurrentQueue 实际要在 iOS 17 才开始能够使用,但是 Xcode 15 标注错误并且可以通过编译检查,但是在 Runtime 期间会引发 Crash。有使用到的同学请特别注意。
+
+Xcode 15
+
+
+Xcode 16
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#325-2025.03.03.md b/Reports/2025/#325-2025.03.03.md
new file mode 100644
index 000000000..fa898a988
--- /dev/null
+++ b/Reports/2025/#325-2025.03.03.md
@@ -0,0 +1,66 @@
+# 老司机 iOS 周报 #325 | 2025-03-03
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [Presenting and Managing Expandable Sections in SwiftUI](https://serialcoder.dev/text-tutorials/swiftui/presenting-and-managing-expandable-sections-in-swiftui/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者为我们介绍了如何在 SwiftUI 中实现一个可通过交互来展开和收起的 Section。在 Section 的 header 上实现一个自定义 view,并在点击时反转 Section 的 isExpanded 属性来达成目标。文章内容非常简单基础,并且有丰富的代码演示,适合刚接触 SwiftUI 的同学学习。
+
+### 🐕 [First analysis of Apple's USB Restricted Mode bypass (CVE-2025-24200)](https://blog.quarkslab.com/first-analysis-of-apples-usb-restricted-mode-bypass-cve-2025-24200.html)
+
+[@david-clang](https://github.com/david-clang):本文分析了 iOS 中 [CVE-2025-24200](https://support.apple.com/en-ca/122174) 漏洞的技术细节,该漏洞利用 Accessibility 框架中状态管理不严密的问题,使得攻击者能够在设备锁定时绕过 [USB Restricted Mode](https://support.apple.com/en-us/111806),从而实现未授权的 USB 数据连接。文章中的分析思路和手段很值得学习。
+
+作者通过对比补丁前后的固件,详细说明了漏洞修复涉及的关键代码改动,例如在 AXSpringBoardServerInstance 和 profiled 守护进程中新增的状态检查逻辑。接着展示了利用辅助功能(如 Assistive Touch 或 Switch Control )触发漏洞的可能攻击路径,即在设备锁定且辅助功能激活时,通过触发警告弹窗诱导用户点击“ OK ”,进而调用 `_setUSBRMPreferenceDisabled` 函数禁用 USB Restricted Mode,使攻击者有机会绕过物理安全防护措施。
+
+### 🐎 [How Swift's server support powers Things Cloud](https://www.swift.org/blog/how-swifts-server-support-powers-things-cloud/)
+
+[@阿权](https://github.com/bqlin):文章分享了 Things App 如何将自身的后端服务使用 Swift 重写的经验。
+
+Things Cloud(Things App 后端服务),原本是使用 Python 2 和 Google App Engine 构建的,虽然稳定,但面临内存占用高、响应速度慢、后端语言缺乏类型静态安全检查导致上线错误不可预知的问题。在探索了多种后端语言后,因为 Things App 开发已经深度使用 Swift,熟悉其优势(可能是客户端人力充足🐶),最终选择使用 Swift 重写后端。使用 Vapor + SwiftNIO 编写主要的后端业务,通过 RediStack 调用 Rdis、MySQLKit 调用 Aurora、Soto 调用 S3、APNSwift 调用 APNs。最终通过 Linux 编译产物,构建到 Docker 中以便部署到集群中。最终算力节省 3 倍多,响应时间缩短 4 倍多。
+
+在降本增效的大流中,或许用 Swift 也能闯出一番天地。
+
+### 🐕 [What ’ s new in Swift 6.1?](https://www.donnywals.com/whats-new-in-swift-6-1/)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章介绍了 Swift 6.1 的最新特性和改进。Swift 6.1 是一个较小的版本,主要包含错误修复和用户体验提升。其中主要讨论了两个特性:
+1. **Task Groups 的变化**:Swift 6.1 对 TaskGroup 进行了改进,开发者不再需要显式定义子任务的返回类型。编译器可以根据第一个添加的任务自动推断类型,这样可以简化代码。
+2. **导入成员可见性的新模式**:Swift 6.1 引入了一种新的成员可见性模式,允许开发者在导入特定模块时,仅使用该模块中的扩展。这解决了当多个模块中有相同函数名时,编译器可能产生混淆的问题。通过这种方式,开发者可以更明确地控制代码中使用的扩展,避免意外调用错误版本的函数。
+
+总体而言,这些改进增强了 Swift 的易用性,提升了开发体验。
+
+## 工具
+
+### 🐎 [Interactive & Beautiful CLI Tools with Noora](https://swifttoolkit.dev/posts/noora-package)
+
+[@Smallfly](https://github.com/iostalks):Noora 是一款创新性的 Swift 命令行工具包,致力于将枯燥的黑白终端转化为专业、交互式的开发者体验。它提供了丰富的组件——从醒目的成功 / 错误提示、智能的 Yes/No 选择框,到动态进度指示器,再到灵活的主题定制功能——让 CLI 工具瞬间焕发活力。如果你的应用需要进行命令行交互,值得一试。
+
+### 🐎 [基于 WWDC 内容的 AI 问答平台 Ask WWDC](https://askwwdc.com)
+
+[@xiaofei86](https://github.com/xiaofei86):Ask WWDC 以 WWDC 内容对 LLM 进行检索增强。基于 LangChain 和 GPT-4o,目前免费使用,响应速度尚可。作者同时开放了其基于 Next.js、Upstash 和 ModalLabs 的服务,用户也可以构建自己的 Ask Site。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#326-2025.03.10.md b/Reports/2025/#326-2025.03.10.md
new file mode 100644
index 000000000..938acef2b
--- /dev/null
+++ b/Reports/2025/#326-2025.03.10.md
@@ -0,0 +1,93 @@
+# 老司机 iOS 周报 #326 | 2025-03-10
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又来新人啦~**
+
+欢迎 [David](https://github.com/david-clang) 加入老司机技术!David 有多年大厂的工作经验,目前在日本从事 iOS Infra 相关工作,对 Flutter 动态化框架也有涉猎。
+
+**希望 David 的加入也能为大家带来更多元化的内容输出!**
+
+## 新闻
+
+### [Lynx: 迈向原生体验](https://mp.weixin.qq.com/s/Wmapq8NMfoXejIcxX-2K-Q)
+
+[Lynx](https://github.com/lynx-family/lynx):跨平台 UI 方案始终在**性能、灵活性和工程复杂度**之间寻找平衡。Lynx 采用**声明式 DSL 直出原生 UI**,减少 JS 端计算和通信开销,同时优化 UI Diff 机制,使更新更加高效。
+
+它并非简单的 React Native 或 Flutter 替代,而是对跨端渲染的一次新尝试,在实际业务场景中提供了不同的取舍和可能性。
+
+不论是国内还是国外,都已有一段时间没有推出类似的新框架了,此次开源还是有较大的借鉴意义,希望 Lynx 团队后续能有更多原理的解析释出。
+
+## 新手推荐
+
+### 🐎 [Simple Modularization setup for a New App](https://www.manu.show/2025-02-27-simple-modularization-setup/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了如何使用 Swift Package Manager 的本地包实现 iOS 应用的模块化。作者强调了模块化在改善构建时间、分离关注点、增强测试能力和促进团队协作方面的优势。文章提供了清晰的依赖关系图,解释了核心层(CoreLayer)、领域层(Domain Layer)和表现层(Presentation Layer)的设计,并分享了通过 Fastlane 集成来运行测试的实用技巧。对于寻求优化开发流程和提高代码质量的 iOS 开发新手来说,这篇文章提供了宝贵的指导和实际案例,是不错的学习资源。
+
+## 文章
+
+### 🐕 [Ollama](https://nshipster.com/ollama/)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章介绍了 Ollama,一个简化在 macOS 上运行大语言模型(LLMs)的工具。Ollama 基于 llama.cpp,提供友好的接口,使模型管理和推理变得简单。文章强调了在本地运行模型的优势,特别是当计算几乎变得免费时,AI 的可用性和应用方式也随之改变。虽然像 GPT-4 和 Claude 这样的前沿模型无疑令人印象深刻,但本地运行开放模型同样值得关注,因为它提供了隐私保护、成本效益、低延迟、用户控制和可靠性等多种优势。
+值得注意的是,Ollama 不仅限于 macOS 应用,因其提供的 HTTP API 可以与任何支持 HTTP 请求的编程语言和工具集成,因此可以在其他操作系统上使用。
+
+### 🐎 [不要升级,Flutter Debug 模式在 iOS 18.4 beta 无法运行,提示 Permission denied](https://mp.weixin.qq.com/s/shfvj95_CjwO-33s_7LIWQ)
+
+[@david-clang](https://github.com/david-clang):本文介绍了为什么 Flutter Debug 模式无法在 iOS 18.4 beta 1 的真机上运行([issues](https://github.com/flutter/flutter/issues/163984)),是因为该版本修复了通过 get-task-allow 授权即可获取 JIT 的内存访问权限([iOS 18.4 beta 1 JIT patch analysis](https://gist.github.com/osy/8940e5ae5f24646b808f58d197883ca5))。好消息是 iOS 18.4 beta 2 撤销了对应更改,所以升级系统版本将不会影响 Flutter Debug 模式的真机调试。
+
+但 Flutter 团队还是想避免利用 get-task-allow 授权获取 JIT 的内存访问权限,并在该 [issues](https://github.com/dart-lang/sdk/issues/60202) 讨论了些解决方案。其中有个[思路](https://github.com/dart-lang/sdk/issues/60202#issuecomment-2695705498)很值得大家学习,利用 lldb debugserver 将数据写入到"只读和可执行(RX)"的内存映射区域后,即可直接调用 mprotect 让内存权限在"只读和可执行(RX)"和"可读可写(RW)"之间切换,从而稳定地实现 JIT。虽然该事在 Flutter 官方的优先级只是 P2,也让我们期待下最终的解决方案吧!
+
+
+### 🐕 [Designing a custom lazy list in SwiftUI with better performance](https://nilcoalescing.com/blog/CustomLazyListInSwiftUI/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章介绍了如何在 SwiftUI 中创建一个自定义的惰性列表(Lazy List)。作者首先讲解了惰性列表的概念,然后展示了如何通过使用 `LazyVStack` 和 `ForEach` 实现具有动态加载功能的列表并提供了示例代码和优化性能的建议。
+
+
+### 🐎 [关于推理模型的一些误解和盲区](https://onevcat.com/2025/02/reasoning-model/)
+
+[@JonyFang](https://github.com/jonyfang): 文中介绍了推理模型与通用大模型的性能差异及适用场景,指出推理模型在逻辑领域优势显著却受制于响应速度与创作力,揭示了温度参数对生成内容的影响规律,并探讨了混合架构趋势与开源蒸馏模型推动 AI 普惠的技术路径。
+
+## 工具
+
+### [XCFolder: 一个将 Xcode 项目 Group 转为 Folder 的工具](https://github.com/ZhgChgLi/XCFolder)
+
+iOS 开发者都知道团队协作时 .xcodeproj 文件会经常冲突,这是因为 Xcode 项目会为每个文件和文件夹都生成 UUID 引用,多人同时修改项目结构时几乎必然会发生合并冲突。
+
+好消息是,Xcode 16 带来了一个新功能 —— 将虚拟的 Group 转换为 Folder!基于 Folder 的项目不再为每个文件声明对应的 object,大幅减少了合并冲突的可能性。
+
+但对于现有项目,手动迁移工作量巨大。这时 XCFolder 就可以派上用场了,这款由 ZhgChgLi 开发的工具能自动完成这一项工作,并且保持项目引用完整性,操作简单高效。
+
+如果你厌倦了处理 Xcode 项目合并冲突,这个工具绝对值得一试。它不仅能帮助团队顺利过渡到 Xcode 16 的新项目结构,还能大幅提升团队协作效率。
+
+## 音视频
+
+### 🌟 🐢 [Deep Dive into LLMs like ChatGPT](https://www.youtube.com/watch?v=7xTGNNLPyMI&list=PPSV)
+
+[@Damien](https://github.com/ZengyiMa):LLM 时代已经到来,作为开发人员,我们也需要了解一些必备的 LLM 相关的知识,本视频为 AI 大神 Karpathy 出品的 LLM 视频,本视频深入浅出,适合零基础想要了解 LLM 的同学。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[北京/上海] 美团 - 短视频 - iOS/Android
+
+具体信息请移步: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)
diff --git a/Reports/2025/#327-2025.03.17.md b/Reports/2025/#327-2025.03.17.md
new file mode 100644
index 000000000..d1898834b
--- /dev/null
+++ b/Reports/2025/#327-2025.03.17.md
@@ -0,0 +1,93 @@
+# 老司机 iOS 周报 #327 | 2025-03-17
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [iOS Versions Market Share in 2025](https://telemetrydeck.com/survey/apple/iOS/majorSystemVersions/)
+
+网页展示了使用 iOS 系统(包括 iPadOS)的用户的分布变化,其中有两条结论:
+
+1. 自 2024 年 9 月推出以来,iOS 18 已成为迄今为止份额最高的版本。截至 2025 年 2 月底,该比例为 79.54%。
+2. 截至 2024 年 8 月底,iOS 17 是占主导地位的版本,占 87.70% 的份额。截至 2025 年 2 月底,它已降至 13.68%。
+
+## 新手推荐
+
+### 🐎 [通过覆写方法看 Swift 方法派发](https://blog.rakuyoo.top/swift-method-dispatch-via-overriding/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者通过一个子类覆写方法的 Demo 向我们解释了 Swift 内静态派发和动态派发两种机制,并介绍了 @objc 和 dynamic 关键字的含义,讲述了如何在 extension 中正确的覆写父类方法。看完以后感兴趣的同学也可以尝试再研究下 Protocol 方法的派发机制。
+
+## 文章
+
+### 🐢 [A Journey to understand LLVM-IR](https://un-devs.github.io/low-level-exploration/journey-to-understanding-llvm-ir/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):对于 iOS 开发来说,接触 LLVM-IR 的机会不多,一般逆向研究系统库时会直接反汇编,研究 Swift 时大部分情况阅读 sil(Swift Intermediate Language) 即可解决大部分问题。但也有极端情况下,需要研究 IR 优化时,就需要这块知识了。作者虽然是以 C/Rust 语言的视角进行讲解,但是对于 OC/Swift 是一样的。文章内容大致包含下面几块:
+
+1. IR 的 静态单一分配 (static single assigment representation)
+2. 开启 mem2reg 讲解生成的 IR 代码
+3. 再对比 x86 汇编与 IR 代码的对应
+
+### 🐕 [op run](https://nshipster.com/1password-cli/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章探讨了传统 .env 文件在开发中的痛点(配置同步难、多环境管理复杂、变更追踪缺失),并介绍了 1Password CLI(op)的解决方案。通过 op run 命令动态注入环境变量,开发者可用 op://URL 引用密钥库中的敏感数据,实现配置与代码分离。步骤包括安装 CLI、创建共享保险库、迁移密钥、更新.env 文件为引用格式,并调整启动命令。
+
+### 🐕 [What drives your users to pay? Jobs to Be Done has the answers](https://www.revenuecat.com/blog/growth/what-drives-users-to-pay-jobs-to-be-done/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):本文探讨了 Jobs to Be Done (JTBD) 理论如何帮助企业理解用户真正的需求,并通过精准定位驱动更强的产品变现能力。主要内容如下:
+
+1. 了解用户购买动机:痛点驱动 vs. 需求驱动
+2. 如何进行 Jobs to Be Done 访谈,发现变现关键点
+3. 三种核心驱动力:功能、情感和社交
+4. 如何优化定价、转化和留存
+5. 利用 JTBD 扩展高价值用户群
+
+### 🐢 [当 Swift 编译器删除了标准库中的代码 - 记修复 Swift 6 中的冗余 Load 指令消除优化器](https://mp.weixin.qq.com/s/MLYm8S8vMeI9y06SgAGfFw)
+
+[@david-clang](https://github.com/david-clang):本文首先通过最小复现代码,展示了在 `-Osize` 优化级别下使用 `AutoreleasingUnsafeMutablePointer` 导致的 use-after-free(UAF)崩溃问题。
+
+通过反汇编和 SIL 分析,发现 Swift 编译器在冗余 Load 消除优化(RLE)过程中,因误判 `_reserveCapacityAssumingUniqueBuffer` 函数的副作用,错误删除了数组扩容后必须重新加载缓冲区地址的 `load` 指令,致使后续代码访问已释放内存。
+
+作者还给出了修复方案,通过调整逃逸分析对 `unchecked_ref_cast` 指令中 Optional 转换的路径追踪逻辑,确保编译器正确识别副作用,从而避免冗余 `load` 指令消除,修复 UAF 崩溃问题。
+
+文章结尾还分享了调试 Swift 编译器的技巧,全文为深入理解 Swift 编译优化机制提供了宝贵参考。
+
+## 代码
+
+### [RealityShaderExtension](https://github.com/XanderXu/RealityShaderExtension)
+
+[@BluesJiang](https://github.com/BluesJiang): visionOS 开发官方有两套可选的开发方式,一种是使用 RealityKit,另一种是使用基于 Metal 的自制引擎来自己绘制。苹果推荐使用的 Unity 的 PolySpatial,一种将 Unity 的内容直接导出到 visionOS 上的方式,也是通过第二种模式运行的。
+但是第二种模式会存在许多限制,比如没有眼动追踪等。所以有时候还是需要使用原生的开发方式。但是为了保证渲染效果的一致性,作者经常需要将在 Unity 中实现的 Shader 再在 ShaderGraph 中实现一遍。而二者默认提供的 Shader 节点并不一致。
+所以作者将 Unity 中有而 RealityKit 中没有的 Shader 效果实现了一遍,并且开源。visionOS 的原生开发玩家可以关注一下。
+
+## 音视频
+
+### [How to Do Apple Search Ads (ASA) Right and Grow Your Downloads](https://www.youtube.com/watch?v=W6_bN3AZo_s)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 如何使用 Apple Search Ads 提升你的下载。作者分享了配置使用 ASA 完整流程和一些实用技巧,有自己的独立 App 需要推广的可以学习下。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[上海] TikTok - 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)
diff --git a/Reports/2025/#328-2025.03.24.md b/Reports/2025/#328-2025.03.24.md
new file mode 100644
index 000000000..8786e43a4
--- /dev/null
+++ b/Reports/2025/#328-2025.03.24.md
@@ -0,0 +1,87 @@
+# 老司机 iOS 周报 #328 | 2025-03-24
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐎 [Understanding SwiftUI's Namespace](https://kyleye.top/posts/swiftui-namespace/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了 SwiftUI `Namespace` 的工作原理,从底层实现到实际应用,再到高级用法,内容详实且易于理解。作者不仅解释了 `Namespace` 如何生成唯一标识符,还通过实际代码示例展示了如何利用它实现平滑的几何动画。相信无论是初学者还是有一定经验的开发者,都能从中获得一些启发。
+
+### 🐕 [Designing a custom lazy list in SwiftUI with better performance](https://www.swiftwithvincent.com/blog/animation-vs-withanimation-whats-the-difference)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章探讨了 SwiftUI 中 `animation` 与 `withAnimation` 的区别。`animation` 是一个修饰符,直接在视图上应用动画,而 `withAnimation` 则是一个函数,用于在特定的状态变化中包裹代码,使其能够动画化。作者通过示例展示了两者的用法和适用场景,强调了使用 `withAnimation` 时可以更灵活地控制动画效果。
+
+### 🐎 [Identifying individual sounds in an audio file](https://www.createwithswift.com/identifying-individual-sounds-in-an-audio-file/)
+
+[@Damien](https://github.com/ZengyiMa):这篇文章介绍了如何实现声音识别功能,使用 Apple 的 Sound Analysis 框架来识别音频文件中的特定声音。通过这个文章教程,读者可以构建一个应用,能够分析音频文件、分类声音的 App。文章还提到,这种声音识别功能适用于预录制音频文件的分析,可以用于批量处理、高质量录音的编辑以及离线分析等场景,为音频分析任务提供了更广泛的应用可能性。
+
+### 🐕 [Swift + Zed = ❤️ ](https://tgomareli.medium.com/swift-zed-%EF%B8%8F-6b08de865425)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章介绍了作者如何在 Zed 编辑器中优化 Swift 编程体验。作为一位文本编辑器爱好者,作者分享了他从 Neovim 转向 Zed 的过程,探讨了安装 Swift 扩展、解决 Xcode 项目中的代码补全问题,以及创建自定义任务和快捷键的具体步骤。通过这些配置,作者成功提升了开发效率,使得构建、测试和运行 Swift 包变得更加流畅和自然。如果你正在寻找高效的编程工具,这篇文章值得一读。
+
+### 🐎 [Synchronous Work](https://www.massicotte.org/synchronous-work)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者分别通过 DispatchQueue、Task.detached、nonisolated func 等方式为我们介绍了如何去异步执行一段耗时逻辑。最终作者更推荐 async let 的方式,因为它更加简洁,但也要注意它并不是时刻生效的,我们需要关注方法的 isolated 的状态。同时作者也提到同步方法本身会更加灵活,因为它可以按需转为异步调用,给了调用方更多选择。
+
+## 工具
+
+### 🐎 [Framous: Screenshot Frames](https://apps.apple.com/us/app/framous-screenshot-frames/id6636520519?mt=12)
+
+[@阿权](https://github.com/bqlin):[Framous](https://apps.apple.com/us/app/framous-screenshot-frames/id6636520519?mt=12) 是一款快捷生成 Apple 设备带壳截图的 Mac App,支持生成常见的 iPhone、iPad、Apple Watch、Mac、Apple TV 设备的带壳截图。对于独立开发者上架或者介绍某款 App 时是款很实用的工具。App 支持功能:
+
+- 可以通过拖放、复制粘贴、捷径等方式将图片生成带壳截图。
+- 自动识别截图来源设备(大概是根据分辨率),自动匹配设备。
+- 支持多个设备合成一张图或批量导出多张图。
+- 丰富的自定义选项,支持切换设备、修改设备颜色、圆角、设备按钮位置、屏幕挖孔样式等。
+
+App 在 Mac App Store 免费下载,但生成支持的设备截图仍需内购。
+
+## 代码
+
+### [GlyphixTextFx](https://github.com/ktiays/GlyphixTextFx)
+
+[@AidenRao](https://weibo.com/AidenRao):**GlyphixTextFx** 主要实现了类似 SwiftUI 中 `numericText` 的数字变化过渡动画效果。以下是核心内容:
+
+- **字符级动画**:当文本内容变化时,每个字符会以平滑的动画过渡(如数字增减时的滚动效果)。
+- **灵活定制**:支持自定义过渡方向(向上 / 向下)、文本对齐方式(左 / 中 / 右)以及多行文本显示。
+- **视觉效果优化**:提供模糊效果选项增强过渡美感。
+- **跨框架兼容**:适用于 UIKit、AppKit 和 SwiftUI,支持 iOS 13+ 和 macOS 11.0+
+
+## 音视频
+
+### [Swift DevRoom at FOSDEM 2025](https://swiftlang.github.io/event-fosdem/)
+
+[@zhangferry](zhangferry.com): FOSDEM 是一个专门为自由软件及开源软件开发者而设的周年会议,由比利时的布鲁塞尔自由大学及一些志愿者共同筹办,被视为全欧洲、乃至全球最优秀的自由软件及开源软件活动。Swift 作为开源语言,曾在 2023 年[申请 FOSDEM](https://forums.swift.org/t/swift-fosdem/67752),但被官方拒绝,2024 年再次申请,终于通过,正式会议于 2025 年 2 月召开,已经结束。
+
+作为向开源社区展示 Swift 的一次重要机会,演讲主题也跟开源相关,涵盖:服务端、嵌入式、跨语言交互等内容,总计 15 场,每个在 20min 左右,所有视频内容都可以到 FOSDEM 查看。
+
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[上海/北京/深圳/杭州] 抖音 - 基础技术 - iOS/Android
+
+[上海] BiliBili - 移动端开发实习生(社区生态)- iOS/Android
+
+具体信息请移步: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)
diff --git a/Reports/2025/#329-2025.03.31.md b/Reports/2025/#329-2025.03.31.md
new file mode 100644
index 000000000..b3c62f3b7
--- /dev/null
+++ b/Reports/2025/#329-2025.03.31.md
@@ -0,0 +1,77 @@
+# 老司机 iOS 周报 #329 | 2025-03-31
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Understanding structural identity in SwiftUI](https://tanaschita.com/swiftui-structural-identity/)
+
+[@阿权](https://github.com/bqlin):SwiftUI 使用结构体描述视图,由 SwiftUI 内部完成视图的绘制与更新。而结构体标识则是视图层级中的唯一 id,用于识别状态变化前后的视图结构体是否是同一视图,进而进行更新和重绘。
+
+文章介绍了 SwiftUI 结构体标识的基本原理和应用、SwiftUI 重绘机制以及 SwiftUI 结构体标识的具体实践。
+
+## 文章
+
+### 🐢 [Profiling apps using Instruments](https://developer.apple.com/tutorials/instruments)
+
+[@Smallfly](https://github.com/iostalks):这是苹果官方出品的 Instruments 教程。Instruments 主要用来分析应用程序的性能、资源使用和行为,了解如何提高响应性,减少内存使用,以及运行时的复杂的行为。该教程包含对卡顿的基础知识介绍,卡顿的分析和检测,并提供了卡顿的优化建议。
+
+### 🐢 [充分理解 C/C++ 重要概念:运行时库](https://mp.weixin.qq.com/s/Fed-0uVaOGDUiftH43vnGA)
+
+[@极速男孩](https://github.com/ztlyyznf001):本文系统解析了 C/C++ 运行时库的核心概念与实现机制。运行时库作为程序运行的基础支撑,封装了操作系统 API(如内存管理 malloc/ 文件操作 fopen)、提供标准库函数(字符串 / 数学运算),并管理程序生命周期(全局变量初始化 / 资源清理)。跨平台差异显著:Linux 依赖 glibc/libstdc++,Windows 通过 MSVC 运行时库实现,Android/iOS 则采用轻量化 Bionic/libc++。开发中需警惕多实例问题(静态链接导致内存堆冲突)和多版本兼容性问题(GLIBC/C++ABI 不匹配),解决方案包括统一动态链接、规范跨模块接口设计(避免传递 C++ 对象)及固化工具链版本。
+
+### 🐕 [Detecting body poses in a live video feed](https://www.createwithswift.com/detecting-body-poses-in-a-live-video-feed/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章介绍了如何利用苹果的 Vision 框架在 SwiftUI 应用中实时检测视频流中的人体姿态。主要步骤包括:
+
+1. 通过 `AVCaptureSession` 管理视频采集,处理权限申请,配置视频输入 / 输出格式,并调整画面方向以适应界面显示
+2. 使用 `UIViewRepresentable` 协议将 `AVCaptureVideoPreviewLayer` 集成到 SwiftUI 视图中,实现实时画面展示
+3. 创建 `PoseEstimationViewModel` 类处理视频帧,利用 Vision 的 `VNHumanBodyPoseRequest` 检测 19 个关键身体节点(如头、肩、肘、腕等),并建立关节连接关系(如肩到肘、膝到踝等)。
+4. 通过检测到的身体坐标点动态绘制骨骼连线,最终实现在视频流上叠加姿态骨架图的效果
+
+文章提供了完整的代码实现思路,适用于健身追踪、AR 等场景开发。
+
+### 🐎 [Why I Avoid Group](https://chris.eidhof.nl/post/why-i-avoid-group/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者通过一系列的 Demo 向我们展示了 Group 目前存在的一些问题。官方文档上写着作用于 Group 的 modifier 会作用在 Group 内的每一个元素上,但实际在模拟器上的表现并非如此。作者猜测可能和渲染 SwiftUI 的根结点实质是一个 UIKit 的 view 有关。如果使用一个 VStack 包裹 Group,则它的表现又符合预期了。
+
+### 🐎 [这篇 GPU 学习笔记,详细整理了其工作原理、编程模型和架构设计](https://mp.weixin.qq.com/s/IzsI_dzX6AxFnJGg8zewEw)
+
+[@老驴](https://weibo.com/u/6090610445):最近 AI 大火也让 nvidia 再次在风口浪尖烧,你有没有想过 GPU 到底是怎么工作的?它为什么在特定应用下这么快?和我们日常写的代码、性能优化有什么关系?
+
+这篇文章用清晰的逻辑和大量实例,从 GPU 架构原理、并行执行模型到实际的 CUDA 编程,带你系统了解 GPU 背后的技术基础。即使你平时不写 CUDA,这些知识也能帮你更好地理解 Metal、CoreML 这些 Apple 平台下的 GPU 特性。
+
+如果你是一名希望拓展技术广度的开发者,值得一读。
+
+## 代码
+
+### [FlowNavigation](https://github.com/magnuskahr/swiftui-flow-navigation)
+
+[Announcing FlowNavigation](https://www.magnuskahr.dk/posts/2025/03/announcing-FlowNavigation/) 本文介绍了作者开发的一个名为 FlowNavigation 的 SwiftUI 框架。该框架旨在简化线性流程的定义和管理 , 如注册流程。作者提供了一个示例代码 , 展示如何使用该框架来定义一个包含电子邮件、密码和提交屏幕的流程。该框架目前还在测试阶段,作者希望能够获得社区反馈并继续完善。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[上海] Soul App - 终端技术团队 - 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)
diff --git a/Reports/2025/#330-2025.04.07.md b/Reports/2025/#330-2025.04.07.md
new file mode 100644
index 000000000..ab9fa4a23
--- /dev/null
+++ b/Reports/2025/#330-2025.04.07.md
@@ -0,0 +1,82 @@
+# 老司机 iOS 周报 #330 | 2025-04-07
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐕 [Swift 6.1 Released](https://www.swift.org/blog/swift-6.1-released/)
+
+[@AidenRao](https://weibo.com/AidenRao):Swift 6.1 正式推出,核心更新:
+
+1. **并发优化**: `nonisolated` 支持类型和扩展,任务组子任务结果类型自动推断;
+2. **OC 迁移:** 新增 `@implementation` 支持,允许在 Swift 中实现 Objective-C 类型,便于逐步迁移;
+3. **开发体验**:尾随逗号支持扩展至参数列表、元组等场景;
+4. **包管理**:新增 `package traits` 机制,适配跨平台条件编译;
+5. **测试增强**:支持自定义测试前后逻辑,异常处理更便捷;
+6. **文档工具**:Swift-DocC 优化符号链接可读性。
+
+推荐通过 Xcode 16.3 或 `swiftly` 工具链安装体验。
+
+## 新手推荐
+
+### 🐕 [Modern URL construction in Swift](https://www.swiftbysundell.com/articles/modern-url-construction-in-swift/)
+
+[@阿权](https://github.com/bqlin):本文介绍了 Swift 在 URL 构建方面的现代解决方案,通过类型扩展、宏和新 API 的结合,实现了更安全、简洁的 URL 处理方式。开发者可根据项目需求选择合适方案,提升代码质量。具体内容为:
+
+1. 静态字符串构建 URL 使用 Optional 方式显得冗余,应直接强制解包。
+ 1. 解法 1:添加 URL 扩展直接创建 URL 实例,内部解包为空时 fatallError,输出信息。
+ 2. 解法 2:通过自定义宏创建 URL 实例,实现解包并抛出错误的逻辑。
+2. 对于动态构建的 URL,应使用更结构的 URL、URLComponents 拼接、构建方法,甚至能够直接获取本地常见目录的 URL。
+
+## 文章
+
+### 🐕 [Deploying a Swift Server App to Fly.io and Railway](https://swifttoolkit.dev/posts/deploy-fly-railway)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了如何使用 Vapor 框架部署 Swift 服务端应用程序到 Fly.io 和 Railway 平台。文章涵盖了初始化 Vapor 项目、编写 Dockerfile、以及在两个平台上部署应用的具体步骤。此外 , 还提到了一些进阶主题 , 如自定义域名和添加数据库服务等。
+
+### 🐢 AI 产品经理进阶:万字深析大模型的 MCP([上](https://www.woshipm.com/ai/6190336.html) & [下](https://www.woshipm.com/ai/6190355.html))
+
+[@EyreFree](https://github.com/EyreFree):这篇文章深度剖析了大模型的 MCP 技术。MCP 是 Anthropic 于 2024 年底开源的开放标准协议,旨在统一 AI 与外部数据源和工具的连接方式,降低集成成本。它采用客户端 - 服务器架构,基于 JSON-RPC 2.0 通信,定义多种原语规范交互。该技术已在智能问答、编程辅助、办公自动化等场景崭露头角。文章还全面分析了 MCP 的优势与局限,如标准统一、开源灵活,但也存在生态不完善、远程支持不足等问题。此外,还展望了其未来在完善远程云支持、构建 “应用商店” 式分发机制、拓展多模态应用等方面的演进方向,为 AI 从业者或对之感兴趣的同学提供了极具价值的参考。
+
+### 🐕 [Fast & Fluid: Integrating Rust egui into SwiftUI](https://medium.com/@djalex566/fast-fluid-integrating-rust-egui-into-swiftui-30a218c502c1)
+
+[@david-clang](https://github.com/david-clang):作者在开发实时预览 SwiftData 和 CoreData 数据库的 Mac App [DataScout](https://apps.apple.com/us/app/datascout-for-sqlite-swiftdata/id6737813684) 时,发现 SwiftUI 的 `Table` 性能相当差,尝试用 AppKit 的 `NSTableView` 也无法满足需求,最后用 Rust 的 UI 框架 `egui` 去优化性能。作者把 SwiftUI 中嵌入 `egui` 渲染视图的 Demo 整理成文章,还用代码示例展示如何在 SwiftUI 的 `NavigationSplitView` 中嵌入 `egui` 渲染的视图。以下是 `egui` 和传统 UI 框架的对比:
+
+- 传统 UI 框架(如 SwiftUI、UIKit)多采用**保留模式(Retained Mode)**,需显式管理 UI 组件状态(例如按钮状态、列表数据等),框架内部通过对比新旧状态差异来局部更新界面。
+- `egui` 的**即时模式(Immediate Mode)** 则相反:**每帧完全丢弃旧 UI 状态**,根据当前数据重新生成整个界面,通过高频重建实现“无状态化”。
+
+虽然 Demo 中使用 `egui_wgpu_backend` 作为渲染后端,但它在 Metal 上渲染单帧需要 10 毫秒,作者在开发 [DataScout](https://apps.apple.com/us/app/datascout-for-sqlite-swiftdata/id6737813684) 时,通过自定义渲染后端,把帧渲染时间缩短到仅 1-2 毫秒,最终才实现高性能需求,可见把 “ SwiftUI 中嵌入 `egui` 渲染视图” 封装成成熟框架会比较难,但本文优化 SwiftUI 性能的思路值得我们学习。
+
+### 🐎 [得物 iOS 启动优化之 Building Closure](https://mp.weixin.qq.com/s/xr43Xx-A3NT8lPGIii8pPA)
+
+[@Smallfly](https://github.com/iostalks):本文深入解析了 iOS 应用启动优化中常被忽视的 **Building Closure** 阶段(由 dyld 动态链接器负责),聚焦其耗时问题与优化实践。文章通过真实案例,揭示了某版本因 Building Closure 阶段耗时暴增 200ms 的根因定位过程,并最终通过 解决**Perfect Hash 算法**的哈希冲突,将关键函数耗时从 1200ms 降至 110ms。
+
+文中详细剖析了 Building Closure 的工作原理(如首次启动生成缓存、Swift/ObjC 协议一致性处理),并提供了 **文件结构解析、耗时定位方法(Instrument 工具)及优化方案**,适合以下读者参考:
+1. **iOS 开发工程师**:需优化应用启动速度,尤其是冷启动场景;
+2. **性能调优团队**:关注底层 dyld 机制,探索启动耗时优化新方向;
+3. **技术管理者**:了解复杂问题排查流程与跨团队协作经验。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#331-2025.04.14.md b/Reports/2025/#331-2025.04.14.md
new file mode 100644
index 000000000..6204de8d4
--- /dev/null
+++ b/Reports/2025/#331-2025.04.14.md
@@ -0,0 +1,80 @@
+# 老司机 iOS 周报 #331 | 2025-04-14
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Building a dependency injection framework](https://tanaschita.com/dependency-injection-building-lightweight-container/)
+
+[@阿权](https://github.com/bqlin):文章介绍了在 Swift 中如何从零到一搭建轻量级级依赖注入(DI)容器,内容包括:
+
+1. DI 容器设计:实现注册(`register`)和解析(`resolve`)依赖的基本功能,通过字典存储类型与工厂函数的映射。
+2. 生命周期管理:使用枚举 `DependencyLifetime` 区分瞬态(每次解析创建新实例)和单例(首次解析创建并缓存),通过单独的字典存储单例实例。
+3. 属性包装器 `@Injected`:简化依赖注入,声明属性时自动从容器解析依赖,提升代码简洁性。
+4. 实战示例:通过协议定义、容器配置和 SwiftUI 集成演示完整流程。
+
+文章中的实现覆盖了 DI 的核心机制,有了这篇文章的基础,推荐大家再去阅读 [Swinject](https://github.com/Swinject/Swinject) 的实现,会对 DI 的实现有更深刻的理解。
+
+## 文章
+
+### 🐎 [注意,暂时不要升级 MacOS ,Flutter/RN 等构建 ipa 可能会因 「ITMS-90048」被拒绝](https://mp.weixin.qq.com/s/s9fJWOJNhOf9Beu60VDQUA)
+
+[@david-clang](https://github.com/david-clang):macOS 15.4 会导致 Flutter/RN 构建产物新增无效文件夹 `.Symbols` ,提交 App Store 审核会被拒。虽然文章还提供了临时解决办法,但还是建议非必要先不升级,因为调试 Flutter iOS 模拟器时会遇到 `flutter attach` 失效,无法 hot reload ([#166333](https://github.com/flutter/flutter/issues/166333)),该问题还没好的解决办法,可用真机调试先绕过。
+
+### 🐕 [New in Swift 6.1: Test Scoping Traits](https://www.pointfree.co/blog/posts/169-new-in-swift-6-1-test-scoping-traits)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章介绍了 Swift 6.1 引入的 Test Scoping Traits 新特性,它彻底改变了测试代码的编写方式。通过自定义 TestTrait,开发者可以更优雅地管理测试上下文和全局状态,特别适合依赖注入和快照测试等场景。
+新特性主要优势包括:
+1. 简化测试代码:用 @Test(.trait) 替代复杂的闭包嵌套
+2. 支持并发安全:完美适配 Swift Testing 的并行测试
+3. 三大流行库已适配:Dependencies、SnapshotTesting 和 MacroTesting 都支持新特性
+
+现在升级到最新版本即可体验这些改进,让测试代码更简洁高效。
+
+### 🐕 [Swiftdata Architecture Patterns And Practices](https://azamsharp.com/2025/03/28/swiftdata-architecture-patterns-and-practices.html)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文以预算管理为例,展示了 Swift 原生框架下数据驱动的开发范式。主要介绍了苹果专为 `SwiftUI` 设计的 `SwiftData`。
+核心特性包括:
+**1** **声明式建模** :`@Model` 宏简化模型定义,支持 `Codable` 类型与唯一性约束;
+**2** **深度 SwiftUI 整合** :`@Query` 动态追踪数据变化,视图自动刷新;
+**3** **业务逻辑内聚** :模型类直接嵌入唯一性验证、金额计算等规则;
+**4** **灵活架构** :可选协议抽象数据层,适配长期维护或框架迁移;
+**5** **云同步与预览** :默认 `CloudKit` 私有库同步,`PreviewModifier` 快速注入测试数据。
+
+## 工具
+
+### 🐎 [Introducing swiftly 1.0](https://www.swift.org/blog/introducing-swiftly_10/)
+
+[@DylanYang](https://github.com/Dylan19Yang):Swift 正式发布了它的工具链版本管理工具 swiftly,它可以帮助开发者更方便的在不同的平台上下载、安装指定版本的 Swift。借助 swiftly 的版本申明,可以更简单的在团队开发或者 CI/CD 环境中保持 Swift 的版本一致性。swiftly 一大亮点是它自身是由 Swift 开发而成的,因此它可以直接使用 Swift 内的标准库处理 HTTP 请求和文件系统读写等场景,它也利用可以和 C 桥接的特性使用了 C 的压缩库。对具体的使用方式感兴趣的同学可以阅读文章做进一步的了解。
+
+## 音视频
+
+### 🐢 [Spatial Rendering for Apple Vision Pro with ARKit, Metal, and Compositor Services by Warren Moore](https://www.youtube.com/watch?v=vO0M4c9mb2E)
+
+[@BluesJiang](https://github.com/BluesJiang): 《Metal by Example》的作者亲自亲自视频授课。这个视频介绍了 Vision Pro 上做 3D 内容所涵盖的所有知识点,包括 ARKit 渲染,Metal 渲染,自定义渲染器,空间手势,手部追踪,物理等,内容覆盖的很全面,适合想了解 VisionOS 在 3D 渲染方面如何切入的读者。视频作者的书也很值得跟着学一学。
+
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#332-2025.04.21.md b/Reports/2025/#332-2025.04.21.md
new file mode 100644
index 000000000..c9d2bc6dd
--- /dev/null
+++ b/Reports/2025/#332-2025.04.21.md
@@ -0,0 +1,69 @@
+# 老司机 iOS 周报 #332 | 2025-04-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [DocC for Multi-Platform Documentation](https://alexanderweiss.dev/blog/2025-03-09-docc-for-multi-platform-documentation)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 这篇文章介绍了如何手动创建 Swift 包的跨平台文档。虽然 DocC SPM 插件最近添加了对多目标文档生成的支持,但目前仍不支持跨平台包的文档生成。作者分享了一种解决方案,通过直接使用 Xcode 自带的 DocC 工具来实现。
+
+文章详细讲解了三个主要步骤:
+1. 为各平台构建项目并生成符号图
+2. 将.docc 包转换为 DocC 存档
+3. 将存档处理成可托管的 HTML 文件
+
+作者提供了完整的代码示例,包括如何设置 DocC 包结构、创建 Info.plist 文件定义各平台的部署目标,以及编写 shell 脚本来自动化整个构建过程。这种方法可以有效地显示每个 API 在 iOS、watchOS、visionOS、tvOS 和 macOS 上的可用性。
+
+### 🐕 [iOS 静态代码检查方案解读](https://mp.weixin.qq.com/s/yYmwuD3wl77Je4m1zFGfWQ)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章对比了 iOS 开发中三大主流静态代码检查工具:SonarQube、Infer 和 Clang Static Analyzer。SonarQube 存在资源消耗大、配置复杂及 Xcode 适配等问题;Infer 存在语言局限和误报、漏报等问题;Xcode 原生集成的 Clang Static Analyzer,相比 SonarQube 和 Infer,Clang 静态分析在底层问题检测、编译阶段的高效性和多语言支持方面具有显著优势。其凭借增量分析、路径敏感检测和零配置优势,通过脚本筛选增量文件并转换分析结果,可以实现高效自动化检查与定制化报告生成,成为平衡开发效率与质量的中大型项目优选方案。
+
+### 🐕 [How to inspect .ipa files and secure your iOS app from common mistakes](https://www.artemnovichkov.com/blog/how-to-inspect-ipa-files)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了如何检查 iOS 应用的 .ipa 文件结构,揭示潜在安全隐患。通过 Apple Configurator 等工具获取 .ipa 文件后,可解压分析 Info.plist(含明文密钥 /URL scheme)、Frameworks(第三方 SDK)和 Resources(测试账户 / 配置文件)。并提出三准则:勿在 Info.plist 存敏感数据,移除开发测试资料,避免明文存储密钥。强调攻击者常用逆向工具(如 Hopper)解析未加密信息,开发者应定期自查 .ipa 文件,强化安全防护。
+
+### 🐎 [你为什么需要了解 Dart AST?一个简单的 bug 带你快速认识下 Dart Kernel AST](https://mp.weixin.qq.com/s/DgC0C3U9-9u8KFeM4Ud6mw)
+
+[@david-clang](https://github.com/david-clang):作者在调用 extension 拓展 BuildContext 的 context.l10n 时报运行时错误 `NoSuchMethodError`,最终通过 [ast_to_text.dart](https://github.com/dart-lang/sdk/blob/ee32a22712b64006b98a3923ff77f4d9476e2f84/pkg/kernel/lib/text/ast_to_text.dart#L5) 相关工具将 IR 层的 dill 文件转成可读文本,定位到问题根本原因是未显式声明函数参数是 BuildContext 类型,导致编译时 context 被推断为 dynamic 类型,最终导致运行时 `NoSuchMethodError` 错误。文章里通过分析 Dart AST 来找到代码根本问题的思路值得我们学习。
+
+### 🐎 [SwiftUI Keyboard Shortcut Scope](https://useyourloaf.com/blog/swiftui-keyboard-shortcut-scope/)
+[@Smallfly](https://github.com/iostalks):本文聚焦 SwiftUI 键盘快捷键的「跨视图生效」问题,当控件通过导航跳转离开屏幕时,其关联的快捷键仍被系统识别并响应,导致操作冲突。核心原因是系统按视图层级解析快捷键,而非视图可见性。解决方案是利用状态变量动态禁用父视图控件,间接关闭其快捷键响应。若你在 SwiftUI 开发中需精准管理多层级导航的快捷键作用域,本文可帮助你快速定位逻辑隐患。
+
+## 代码
+
+### 🐎 [Supercharging SwiftUI Text with Dynamic Content Styling](https://danielsaidi.com/blog/2025/04/08/supercharging-swiftui-text-with-dynamic-content-styling)
+
+[@阿权](https://github.com/bqlin):文章提供了一种扩展 SwiftUI `Text` 视图的思路,通过自定义文本替换规则,允许对文本中的特定字符串(如单词或段落)应用自定义样式。核心实现包括:
+
+1. `TextReplacementView`:提供单个或多个替换规则的初始化接口。
+2. `processReplacements`:查找文本中的匹配范围,按顺序处理非重叠替换,拼接生成带有不同样式的 `Text` 视图。
+
+文章最后展示了简单和复杂场景下的用法,支持灵活的视图修饰符(如字体、颜色、斜体等)。其优势在于简化了原有通过组合多个 `Text` 视图实现样式定制的繁琐流程,提供了更统一的解决方案。
+
+更详细的实现和用法可前往开源库 [TextReplacements](https://github.com/danielsaidi/TextReplacements)。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#333-2025.04.28.md b/Reports/2025/#333-2025.04.28.md
new file mode 100644
index 000000000..a13285f33
--- /dev/null
+++ b/Reports/2025/#333-2025.04.28.md
@@ -0,0 +1,88 @@
+# 老司机 iOS 周报 #333 | 2025-04-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+下周就是五一劳动节了,老司机周报轮休一周,提前祝大家劳动节快乐!
+
+## 新闻
+
+### [重磅上线 | 一次性购买通知 ONE_TIME_CHARGE 即将正式发布 / A new App Store Server Notification type will soon be available](https://developer.apple.com/documentation/appstoreservernotifications/notificationtype)
+
+[@SeaHub](https://github.com/SeaHub):自 2024/06/10 沙箱环境首发以来,该通知历经大半年的稳定性验证,现即将进入现网发布阶段。以下内容值得我们重点关注:
+
+1. 全商品类型覆盖能力
+突破原有仅自动续期订阅型存在后台发货通知的限制。新通知囊括消耗型商品、非续期订阅型商品及非消耗型商品等所有类型,彻底解决一次性购买场景的后台通知缺位问题
+
+2. 客户端依赖解耦
+通过一次性购买通知,针对发货阶段,我们不再需要依赖客户端与服务端通信。客户端不再作为发货主路径,实现发货逻辑的解耦
+
+3. 实时发货闭环
+结合一次性购买通知与 appAccountToken 订单透传字段,可构建起媲美国内主流支付平台(微信支付 / 支付宝)的实时发货体系
+
+该通知于 2025/05/27 正式上线,推荐大家优先接入。我们通过一次性购买通知更加优雅的处理订单发货场景,构建更健壮的业务履约体系
+
+## 新手推荐
+
+### 🐎 [Using singletons in Swift 6](https://www.donnywals.com/using-singletons-in-swift-6/)
+
+[@Smallfly](https://github.com/iostalks):本文介绍了 Swift 6 中单例模式因并发安全性触发的编译错误及解决方案。针对「全局可变状态不安全」和「非 `Sendable` 类型共享状态」等典型问题,文章提出多场景应对策略:通过 `MainActor` 隔离属性或类型、将共享实例重构为 `actor`、使用 `Sendable` 协议确保类型安全,并谨慎使用 `nonisolated(unsafe)` 或 `@unchecked Sendable` 作为临时过渡。作者强调遵循 Swift 6 规范的同时,平衡代码安全性与迁移成本。
+
+### 🐎 [Using Swift ’ s defer keyword within async and throwing contexts](https://www.swiftbysundell.com/articles/using-defer-within-async-and-throwing-contexts/)
+
+[@阿权](https://github.com/bqlin):`defer` 常用在代码块(花括号)作用域结束时执行代码。我们常常用来清理在当前作用域内创建的资源或其他上下文,如配置 lock-unlock。这一思想在 async 方法中同样适用,`defer` 为异步流程提供一个处理成功或失败绝佳的节点,类似异步的 finally。不过 `defer` 会打破传统的流程控制流顺序,带来便利的同时也会削弱一些代码可读性。详细可阅读原文,文章从这几方面介绍了 `defer` 的应用:
+
+1. `defer` 关键字基础介绍。
+2. 在异常抛出场景中的应用。
+3. 在异步场景中的应用。
+
+## 文章
+
+### 🌟 🐕 [Dynamically Constructing Generic Types in Swift](https://kyleye.top/posts/dynamic_generic/)
+
+[@JonyFang](https://github.com/jonyfang): 在 Swift 这种强类型语言里,运行时拼泛型一直是个痛点 —— 比如我们想动态生成 `Optional`、`Array` 这样的类型,通常只能在编译期确定。
+- 作者先带着扒了扒 Swift 元数据(Metadata)的底层结构,包含 `Metadata`、`ProtocolDescriptor`、`ConditionalProtocolDescriptor` 等核心数据布局,并封装成易用的辅助类型,帮你在运行时拿到任意类型的信息和协议类型。
+- 接着用 SwiftUI 的 `_ConditionalContent` 举例,演示如何调用元数据访问器函数,动态组装出三种常见场景下的泛型:`optional`、`either`、`atom`,整个过程零配置、可复用。
+- 最后给出一个基于 Swift Runtime 的完整实现方案,从元数据解析、函数指针调用到类型实例化全流程演示,并对该方案在 ABI 稳定性和未来演进方向上的局限性给出了思考。
+
+如果你在做框架或底层库,需要在运行期才知道类型,或者想探索 Swift ABI / Runtime 的更多玩法,这篇文章绝对值得一读。
+
+### 🐕 [20 years of Git. Still weird, still wonderful.](https://blog.gitbutler.com/20-years-of-git/)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章回顾了 Git 诞生 20 周年的历程,最初由 Linus 为解决 Linux 内核协作问题开发,以高效跟踪代码快照为核心设计。从仅 7 个底层命令的"内容跟踪器"起步,逐步整合社区贡献(如 rebase、log 功能),演变为分布式版本控制系统。GitHub 的诞生及其章鱼猫形象推动普及,使其成为全球开发基石。20 年来核心数据结构和"愚蠢但极快"的理念未变,持续支撑从代码管理到内容分发的创新(如 GitButler),奠定现代软件开发基础设施地位。
+
+### 🐕 [SwiftFiddle/swiftregex: Swift Regex is an online tool to learn, build and test Swift Regex Regex and Regex Builder.](https://github.com/swiftfiddle/swiftregex)
+
+[@Barney](https://github.com/BarneyZhaoooo):**Swift Regex** 是开源在线工具,支持 Swift 正则表达式及 Regex Builder 的实时测试与调试,提供语法高亮和错误定位。基于 Swift、JavaScript 及 Vapor 框架开发,采用 MIT 协议,含 Docker 部署配置。支持命名捕获组、自动化依赖更新及安全策略,适合开发者快速验证正则逻辑。
+
+### 🐕 [Creating MCP Servers in Swift](https://www.artemnovichkov.com/blog/creating-mcp-servers-in-swift)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye):作者深入探讨了如何在 Swift 中创建 MCP 服务器。这篇文章不仅为开发者提供了有关 MCP(Model Context Protocol)通信协议的详细背景,还通过代码示例展示了如何在 Swift 中实现一个基本的 MCP 服务器,最后介绍了如何在 VSCode 和其他客户端中使用该 MCP 服务器。
+
+### 🐕 [Make your app content show on Spotlight](https://www.createwithswift.com/make-your-app-content-show-on-spotlight/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章介绍了如何让应用内容出现在 iOS 的 Spotlight 搜索中。主要有两种方法:一是通过 AppShortcutsProvider.updateAppShortcutParameters() 自动索引应用数据;二是使用 Core Spotlight API 手动创建索引,步骤包括为数据模型实现 IndexedEntity 协议、设置 attributeSet 元数据、在添加或删除内容时分别调用 indexAppEntities 和 deleteAppEntities 方法。文章还提到从 iOS 18.4 起,可以用 hideInSpotlight 控制内容是否显示在搜索结果中。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#334-2025.05.12.md b/Reports/2025/#334-2025.05.12.md
new file mode 100644
index 000000000..250e780e8
--- /dev/null
+++ b/Reports/2025/#334-2025.05.12.md
@@ -0,0 +1,79 @@
+# 老司机 iOS 周报 #334 | 2025-05-12
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [Adding dependencies to binary Swift packages](https://danielsaidi.com/blog/2025/05/02/adding-dependencies-to-binary-swift-packages)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章介绍了作者如何为 Swift 的二进制包(binary Swift packages)添加依赖的问题和解决方案。普通 Swift 包可以直接声明依赖,但二进制包无法这样做,这给闭源 SDK 的开发带来了挑战。过去作者采用复制依赖库源代码到二进制包中的方式来解决,但这种方式混乱、低效、并增加了编译时间。后来作者发现可以通过在 Swift 包中同时声明多个二进制目标(binary target),并将它们一起加入到产品中,从而实现依赖的间接引入,这样包管理器就会自动下载和链接所需的依赖库。作者用这种方法解决了 VietnameseInput 这类闭源 SDK 的依赖管理问题,大大简化了项目结构并提升了构建效率,同时也指出这种方案尚未在更多场景下验证,需要更多开发者一起探索和交流。
+
+### 🐎 [支付宝客户端 Kotlin/Native 包体积优化实践](https://mp.weixin.qq.com/s/vcuo2YJsrn3kQcTNuoLuGQ)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye):支付宝在使用 Kotlin/Native 进行跨端开发时 , 针对应用安装包体积过大的问题 , 采取了一系列优化措施。通过增加 LLVM 优化参数和 DCE 优化,支付宝团队成功将 iOS 和鸿蒙平台上的 Kotlin/Native 应用包体积分别减少了 50% 和 15% 以上。对于正在使用或计划使用 Kotlin/Native 的开发者来说,这篇文章或是一份很好的优化实践参考。
+
+### 🐢 [使用 AVPlayer 播放 FairPlay DRM 视频的最佳实践](https://mp.weixin.qq.com/s/vnK8GZP9ucvML6GQ7EJkeQ)
+
+[@阿权](https://github.com/bqlin):DRM,数字版权管理,可以简单理解为加密媒体 / 音视频。文章围绕使用 AVPlayer 播放 FairPlay DRM 视频展开,详细介绍了相关技术要点和操作方法,具体内容如下:
+
+1. DRM 介绍:DRM 原理、方案;FairPlay 播放 DRM 视频原理。
+2. FairPlay 密钥的两种管理方式:AVAssetResourceLoader、AVContentKeySession,及其应用场景。
+3. 使用 AVAssetDownloadTask 下载 DRM 资产:使用流程、下载后本地文件组成。
+
+对于 DRM 视频,其场景不仅可用于点播视频,直播视频场景也可以使用。只要是 Apple 支持的格式,使用系统的 AVPlayer 播放 DRM 足矣,系统提供一定自由度来让用户定义自己的加解密业务流程,剩下的音视频编解码就交由 AVPlayer 自身管理了。这样实现一个满足自身业务的 DRM 播放器门槛自然就低了很多,也不一定都要白手起家捣鼓起 FFmpeg 来。
+
+### 🐕 [Gatekeeper change in macOS 15.4](https://lapcatsoftware.com/articles/2025/4/8.html)
+
+[@Cooper Chen](https://github.com/cjlcooper):苹果在 macOS 15.4 中调整了安全策略:用户下载文件后,拖拽至部分应用(如 TextEdit)时会反复弹出安全警告,而 Preview 等应用却不受影响。
+问题核心:
+- 触发条件取决于应用声明的文件类型。若包含"高危类型"(如 Unix 可执行文件),任何下载文件都会触发警告
+- 文件扩展名直接影响判定结果,暴露逻辑漏洞
+
+解决方案:
+- 普通用户:终端执行 xattr -d com.apple.quarantine 文件名
+- 开发者:需检查应用配置,避免声明高危文件类型
+
+这一调整究竟是安全升级还是过度防护?目前苹果尚未回应,用户可暂用上述方法应对。
+
+### 🐎 [How a Single Line Of Code Could Brick Your iPhone](https://rambo.codes/posts/2025-04-24-how-a-single-line-of-code-could-brick-your-iphone)
+
+[@david-clang](https://github.com/david-clang):本文介绍了 [Darwin Notify](https://developer.apple.com/documentation/darwinnotify) 的系统漏洞,仅一行代码 `notify_post("com.apple.MobileSync.BackupAgent.RestoreStarted")` 即可让设备进入“恢复中”界面且无法退出,只能重启设备,再利用 iOS 自动唤醒小组件的机制,使设备在每次重启后重复触发漏洞,最终实现一行代码把 iPhone 变砖。不限制该敏感通知发送权限的漏洞疑似 [iOS 18.2 beta 2](https://github.com/blacktop/ipsw-diffs/blob/fee5b3c8c18e4639e74677dd3cc1fa80203e64f6/18_2_22C5109p__vs_18_2_22C5125e/Entitlements.md?plain=1#L2336) 引入的,在作者报告漏洞后,[iOS 18.3](https://support.apple.com/zh-cn/122066) 已修复。
+
+## 工具
+
+### [DeepWiki](https://deepwiki.com/)
+
+[@EyreFree](https://github.com/EyreFree):DeepWiki 是一个将 GitHub 仓库转化为交互式 wiki 的工具网站,它能够根据项目代码、文档等内容为 GitHub 上的 Public 项目生成详细文档、绘制交互式图表、提供对话式 AI 助手等。用法是把 GitHub 项目 URL 中的 `github` 换成 `deepwiki`,例如 kingfisher 的对应访问地址就是 [deepwiki.com/onevcat/Kingfisher](https://deepwiki.com/onevcat/Kingfisher),或直接在 DeepWiki 官网搜索仓库名称,主流项目基本上已经做了预处理,搜不到的话在主页点击 `Add repo` 等待处理即可。
+
+## 代码
+
+### [swift-subprocess](https://github.com/swiftlang/swift-subprocess)
+
+[@kemchenj](https://kemchenj.github.io/):Swift 近日开源了 swift-subprocess 这个库,作为 Swift Foundation 团队的提案,旨在提高 Process 相关 API 的易用性,支持更多的 Swift 现代化的特性,设计部份参考了 Python 和 Rust,目前属于 0.1 版本,并且在后续可能会直接加入 Swift Foundation 库。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+- [深圳] Lalamove 司机端(Huolala 海外业务)- 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)
diff --git a/Reports/2025/#335-2025.05.19.md b/Reports/2025/#335-2025.05.19.md
new file mode 100644
index 000000000..19919ec5b
--- /dev/null
+++ b/Reports/2025/#335-2025.05.19.md
@@ -0,0 +1,86 @@
+# 老司机 iOS 周报 #335 | 2025-05-19
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Apple 公布将于今年晚些时候推出的强大辅助功能](https://www.apple.com.cn/newsroom/2025/05/apple-unveils-powerful-accessibility-features-coming-later-this-year/)
+
+苹果在辅助功能的上的设计还是非常先进的,现有的一些辅助功能适配起来相对来说还是比较轻松的,期待苹果更多的辅助功能。
+
+## 文章
+
+### 🐎 [UIApplication delegate deprecation coming in iOS 19 SDK](https://lapcatsoftware.com/articles/2025/4/5.html)
+
+[@Damien](https://github.com/ZengyiMa):作者通过关注 WebKit 提交记录发现 iOS 19 SDK 中 UIApplicationDelegate 协议中的部分 API 将被弃用,原因是修复因新 SDK 导致的弃用警告,作者预测“新 SDK ”指的是即将在 6 月 WWDC 发布的 iOS 19,苹果工程师们已经在用 iOS 19 SDK 编译 WebKit,所以出现了这些弃用警告。
+
+### 🐕 [Using Model Context Protocol in iOS apps](https://www.artemnovichkov.com/blog/using-model-context-protocol-in-ios-apps)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):MCP(Model Context Protocol,模型上下文协议)是一种用于大语言模型(LLM)与外部工具交互的协议。它允许模型在对话过程中调用开发者自定义的函数(称为“工具”),以访问本地或远程的数据和服务,从而增强模型的实际能力。这篇文章介绍了如何在 iOS 应用中使用 Model Context Protocol(MCP)集成大模型能力。作者通过示例展示了如何实现一个 MCP Server(用于获取 Apple Health 中的血压数据)和一个 MCP Client(通过 Anthropic Claude API 实现聊天功能)。整个流程包括定义工具、调用本地服务、解析大模型响应,并在用户请求与工具调用之间建立桥梁,实现智能对话与本地数据交互的结合。
+
+### 🐕 [Xtool: cross-platform Xcode replacement. Build iOS apps on Linux and more!](https://forums.swift.org/t/xtool-cross-platform-xcode-replacement-build-ios-apps-on-linux-and-more/79803)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 这篇贴子介绍了作者的开发名为 Xtool 的跨平台 Xcode 替代工具。Xtool 可以在 Linux 和 Windows 上构建和部署 iOS 应用程序 , 同时也可以在 macOS 上替代 Xcode。它支持使用 SwiftPM 构建 iOS 应用程序、签名和安装应用程序。中间还提到了一些 Xtool 目前还不支持的功能 , 如 Interface Builder、资产目录和 LLDB 调试等,作者表示未来会继续完善这些功能。
+
+### 🐕 [Vibe Xcoding your apps](https://tuist.dev/blog/2025/05/13/vibe-xcoding)
+
+[@EyreFree](https://github.com/EyreFree):本文探讨了 LLMs 驱动的氛围编程(Vibe Coding)在 Xcode 生态的应用,介绍了 Alex、CopilotForXcode 等社区开发的 AI 代码助手,提及 MCP 协议对上下文交互的作用。同时指出了 Xcode 的扩展性局限,期待苹果开放底层接口(如借鉴 VSCode 模式)优化集成,强调了上下文、运行时数据和文档对 AI 辅助的重要性。作者认为氛围编程将推动苹果革新开发者工具,建议感兴趣的朋友持续关注社区在 Xcode 与 AI 整合方面的探索。
+
+### 🐎 [A flowing WebGL gradient, deconstructed](https://alexharri.com/blog/webgl-gradients)
+
+[@莲叔](https://github.com/aaaron7): 一篇非常棒的科普文章,通过由浅入深的例子,娓娓道来的揭开了复杂动效的神秘面纱。本质上,绝大多数动画都可以解构为 时间 + 公式 + 图形 api。本篇文章从渐变开始、过度到波浪、贝塞尔曲线等复杂动效,都以思路,公式到代码予以实现,一直到最后实现了一个非常炫酷的动态模糊效果,标题中虽然有 WebGL,但绝大多数代码其实可以非常方便的移植到其他图形 api,如 OpenGL 和 Metal 等等。对动画和图形学有兴趣的同学千万不能错过。
+
+### 🐕 [Unlocking the Real Power of Swift 6's Typed Throws with Error Chains](https://www.fline.dev/swift-6-typed-throws-error-chains/)
+
+[@阿权](https://github.com/bqlin):本文围绕 Swift 6 的类型化抛出(Typed Throws)特性展开,重点解决错误处理中的「嵌套地狱」问题,核心内容如下:
+
+1. 类型化抛出的优势与挑战
+ - 优势:编译时错误检查、类型安全、自文档化 API、IDE 支持。
+ - 挑战:抛出类型只能指定一个,不支持嵌套。多层架构中错误需手动转换,导致代码冗余、类型激增和上下文丢失。
+2. Catching 协议与 [ErrorKit](https://github.com/FlineDev/ErrorKit) 解决方案
+ - 引入 ErrorKit,通过 `Catching` 协议为错误类型添加 `caught(Error)` case,统一包装子层错误。
+ - 关键函数:
+ - `catch` 函数:自动将闭包中抛出的错误包装为当前层错误类型,避免手动转换。
+ - `errorChainDescription` 函数:递归构建层级化错误链,保留原始错误上下文,提升调试效率。
+3. 总结
+ - 类型化抛出结合 `Catching` 协议,在保证类型安全的同时简化错误处理,ErrorKit 提供的工具链进一步增强了调试能力。
+ - 适用于复杂多层架构,尤其适合需要清晰错误追踪和高效调试的场景。
+
+### 🐕 [Debug crashes in iOS using MetricKit](https://ohmyswift.com/blog/2025/05/08/debug-crashes-in-ios-using-metrickit/)
+
+[@Barney](https://github.com/BarneyZhaoooo):文章介绍如何通过苹果 MetricKit 实现系统级崩溃诊断,捕获内存 / 系统信号等传统工具遗漏的崩溃。涵盖框架配置、调用栈分析和 iOS 版本差异化报告机制(13-14 每日汇总,15+ 即时推送),提供崩溃模拟方案,并展示与 Zoho Apptics 整合实现符号解析与数据可视化。
+
+### 🐕 [Fitting the Lapse experience into 15 MegaBytes](https://blog.jacobstechtavern.com/p/f7411f56-a502-4ef4-81b1-aef15238d460)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文讲述了作者在开发 App Clip 时如何将包体压缩到 15 MB 的方式。作者通过重构依赖关系,减少核心功能的依赖库大小,减少、压缩内置的图片、字体等文件,分割核心模块,较少不必要的代码,裁剪字体包,编译优化等各种手段来极致的压缩包体。虽然这是 App Clip,但是对 App 本体的包体有诉求的开发者也有不错的参考价值。
+
+## 代码
+
+### [ButtonKit](https://github.com/Dean151/ButtonKit)
+
+[@Smallfly](https://github.com/iostalks):ButtonKit 的设计背景源于 SwiftUI 对异步任务交互的不足,旨在简化开发者在处理复杂用户交互时的工作量。其主要作用是提供一个支持异步操作、进度展示和自定义样式的按钮组件,特别适合需要处理网络请求、文件操作或其他耗时任务的 SwiftUI 应用。开发者可以通过这个库减少样板代码,提升代码可读性和用户体验。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#336-2025.05.26.md b/Reports/2025/#336-2025.05.26.md
new file mode 100644
index 000000000..70e209b0d
--- /dev/null
+++ b/Reports/2025/#336-2025.05.26.md
@@ -0,0 +1,96 @@
+# 老司机 iOS 周报 #336 | 2025-05-26
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐢 [LLM 学习笔记:最好的学习方法是带着问题去寻找答案](https://mp.weixin.qq.com/s/T7aD9diSNymHhv68FSaSZA)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章以日常 AI 聊天场景为切入点,生动解析了大语言模型背后的技术原理。特别值得关注的是:
+
+1. 完整训练流程剖析
+- **数据清洗**:详细讲解如何通过 MinHash 去重、PII 移除、Gopher 过滤等技术处理海量原始数据
+- **Tokenization 优化**:深入解析 BPE/WordPiece 算法,对比不同模型的词汇表设计(如 GPT-4 的 10 万 token 词汇表)
+- **分布式训练**:揭秘千亿参数模型如何在数千 GPU 上高效并行训练
+- **监督微调(SFT)**:展示如何用人工标注的高质量对话数据优化模型输出
+- **奖励建模(RM)**:详解如何训练小型网络评估回答质量,实现人类偏好对齐
+
+2. DeepSeek-R1 的创新实践
+- **GRPO 算法详解**:
+ - 创新性地采用分组相对策略优化(Group Relative Policy Optimization)
+ - 通过分组奖励估计替代传统批评模型,降低 40% 训练成本
+ - 结合准确性奖励(基于规则验证)和格式奖励(强制结构化输出)
+
+- **自主推理能力涌现**:
+ - 训练过程中自然发展出自我验证和反思能力
+ - 在数学(AIME 2024)任务上 pass@1 达 71%
+ - 自动生成长思维链(CoT)推理过程,平均生成 500+ 推理 token
+
+文章用大量实例和图表,将复杂的模型训练过程讲解得通俗易懂。无论是想了解 AI 工作原理的初学者,还是希望深入掌握训练技巧的开发者都能从中获得启发。
+
+
+### 🐎 [What's new in Swift 6.2?](https://www.hackingwithswift.com/articles/277/whats-new-in-swift-6-2)
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了 Swift 6.2 将会迎来的重大更新,聚焦于提升开发效率与代码安全性。其核心改进包括:
+
+1. **并发编程简化**:通过编译器标志 `-default-isolation MainActor` 支持模块级主线程默认隔离,大幅降低异步代码复杂度;新增 `Task.immediate` 实现同步任务初始化,优化执行逻辑。
+2. **语法增强**:引入原始标识符(如 `` `Strip HTML tags`() ``)提升测试可读性,字符串插值支持默认值(`\(age, default: "Unknown")`),KeyPath 扩展支持方法调用(`map(\.uppercased())`)。
+3. **工具升级**:`Backtrace` API 提供运行时堆栈追踪,任务命名功能(`Task(name: "FetchNews")`)助力异步调试,`InlineArray` 实现高性能定长存储。
+4. **测试革新**:支持验证程序崩溃逻辑(`#expect(processExitsWith:)`),失败测试可附加日志 / 数据(`Attachment.record()`)。
+5. **安全强化**:严格内存检查要求显式标记 `@unsafe` 代码,全局 Actor 隔离协议提升并发安全。
+
+此次更新通过 20+ 项提案优化了语言一致性,为开发者提供更简洁、安全的工具链,尤其助力 SwiftUI 和服务器端开发的深度整合。
+
+### 🐎 [Dependency container on top of task local values in Swift](https://swiftwithmajid.com/2025/04/30/dependency-container-on-top-of-task-local-values-in-swift/)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章由 Swift 专家 Majid 撰写,深入探讨了 Swift 并发编程中的 Task Local Values(任务本地值),并创新性地将其应用于依赖注入容器的实现。
+文章首先解析了 @TaskLocal 宏的核心机制,展示了它如何在异步任务间隐式传递数据,类似于 SwiftUI 的 Environment。随后,作者通过构建一个支持多环境(生产 / 测试)的依赖容器,演示了如何利用这一特性优雅地管理全局依赖,特别是在单元测试中快速切换 mock 实现。适合中高级 Swift 开发者学习现代并发编程范式,为复杂应用架构提供新思路。
+
+### 🐎 [2025 上半年 Flutter iOS 大坑超汇总,看看你踩中了没](https://mp.weixin.qq.com/s/JceoW5K554Gg3QYZoVYbYw)
+
+[@david-clang](https://github.com/david-clang):本文汇总了 2025 上半年 Flutter iOS 影响比较大的 6 个问题,好在这些问题都有对应的解决办法,它们分别是:
+
+1. iOS 18.4 Beta 的 JIT 权限问题([#163984](https://github.com/flutter/flutter/issues/163984))
+2. macOS 15.4 打包 IPA 的 ITMS-90048 错误([#166367](https://github.com/flutter/flutter/issues/166367))
+3. macOS 15.4 模拟器的调试服务问题([#166333](https://github.com/flutter/flutter/issues/166333))
+4. iOS 设备 Hot Restart 延迟([#165656](https://github.com/flutter/flutter/issues/165656))
+5. iOS 18.5 Beta 字体粗细异常([#167343](https://github.com/flutter/flutter/issues/167343))
+6. iOS 输入框崩溃问题([#138464](https://github.com/flutter/flutter/issues/138464))
+
+### 🐎 [Default isolation with Swift 6.2](https://www.massicotte.org/default-isolation-swift-6_2)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者通过 Swift 默认可见性的类比形象的为大家解释了默认隔离态 (Isolation) 的含义。修改默认隔离态是 Swift 6.2 新引入的特性,帮助开发者方便的修改一个模块默认的隔离态。原先模块默认的隔离态均为无隔离 (nonisolated),而通过修改默认隔离态,我们可以将一个模块的隔离态默认改为使用主线程隔离,相当于默认带上了 `@MainActor` 。不过作者随后也提到此修改有利有弊,大家实际使用时需要认真权衡。
+
+## 代码
+
+### [OpenAsyncImage](https://github.com/OpenSwiftUIProject/OpenAsyncImage)
+
+SwiftUI 的 `AsyncImage` 开源 backport:
+
+- 最低支持 iOS 13
+- 基于 iOS 18 的 `State.wrappedValue` setter 进行优化
+- 全平台统一一致的行为
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#337-2025.06.09.md b/Reports/2025/#337-2025.06.09.md
new file mode 100644
index 000000000..a8427d244
--- /dev/null
+++ b/Reports/2025/#337-2025.06.09.md
@@ -0,0 +1,87 @@
+# 老司机 iOS 周报 #337 | 2025-06-09
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [Optimized mathematical computations in Swift](https://swiftwithmajid.com/2025/05/13/optimized-mathematical-computations-in-swift/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章介绍如何用 `Swift` 的 `Accelerate` 框架 (特别是 `vDSP` 模块) 高效处理大规模数学计算 (如求和、平均值、标准差)。它替代传统低效方法(如 `reduce`), 显著提升大数据场景性能 (如百万级健康数据点)。核心展示了 `vDSP.sum`、`vDSP.mean` 和 `vDSP.standardDeviation` 的简洁用法,并指出该框架还支持更复杂计算(如机器学习、信号处理)。
+
+### 🐢 [微信自研高性能推理计算引擎 XNet-DNN:跨平台 GPU 部署大语言模型及优化实践](https://mp.weixin.qq.com/s/QNQpWKX3EuoTJvBNrIqmPQ)
+
+[@Cooper Chen](https://github.com/cjlcooper):在 AI 大模型落地浪潮中,微信团队的 XNet-DNN 引擎以“一次开发,全平台高效运行”的理念,解决了 LLM 部署的两大痛点:硬件碎片化适配和边缘计算性能瓶颈。其技术突破性体现在三方面:
+
+- 跨平台统一性
+-- 通过自研 RCI 框架,将 NVIDIA TensorCore、Apple M 系列 GPU、高通 Adreno 等异构硬件的计算能力抽象为统一接口,大幅降低开发成本。对比社区方案(如 llama.cpp),仅需少量代码即可实现更广的硬件覆盖。
+
+- 性能压榨艺术
+-- 从宏观的系统级优化(Command Tape 减少 CPU 开销)到微观的指令级调优(寄存器分配、Cache 命中),结合硬件逆向工程,真正“榨干”每颗 GPU 的算力潜力。实测显示,其推理速度在多个平台领先竞品 30% 以上。
+
+- 工业级落地价值
+-- 包体积优化适合移动端,长序列支持(FlashAttention-2)契合实际业务场景,且已通过微信生态验证。对于亟需在端侧部署 LLM 的开发者,XNet-DNN 提供了从理论到实践的完整技术路径。
+
+该技术特别适合三类专业人士深入研读:需要跨平台部署大语言模型的工程师可通过该引擎实现"一次开发,多端适配",大幅提升开发效率;专注边缘计算性能优化的架构师能从其系统级设计思路中获得异构硬件资源调度的创新启发;而致力于 GPU 底层调优的研究者则可借鉴其从硬件逆向到指令级优化的完整方法论,这套基于 Roofline 模型和微基准测试的优化体系具有普适性参考价值。
+
+### 🐕 [一行代码解决 iOS 18 iPad TabBar 位置变化,还你熟悉的底部导航](https://mp.weixin.qq.com/s/i5ydTkzlyxcgdQQ39b7lnA)
+
+[@BluesJiang](https://github.com/bluesjiang): 在 WWDC24 上,苹果对 iPadOS 上的原生 TabBar Controller 的 UI 作了很大的改版。将 SideBar 移动到了顶部,原本在底部的 UI 也移动到了页面的顶部。这种底层 UI 的改动影响到了我们线上的 UI 表现。这篇文章就给出了三个可行的解决方案,将 UI 还原成原来的的样子,
+
+### 🐎 [Compose Multiplatform Skia 对比 Flutter Impeller ,都是跨平台自绘有什么差异](https://mp.weixin.qq.com/s/o0vopxuOcqzT47R0Pb2EkA)
+
+[@david-clang](https://github.com/david-clang):本文大概介绍了 Compose Multiplatform 中的 Skia 和 Flutter 中的 Impeller 的差异,它们最大的区别是两个:
+
+1. Impeller 定位只为 Flutter 服务,而 Skia 更多考虑兼顾通用性支持。
+2. Impeller 着色器是提前编译,而 Skia 是运行时动态编译。
+ - Impeller:通过 `impellerc` 工具链在应用构建期将 GLSL 转换为 SPIR-V ,再编译为平台原生代码(如 Metal MSL),彻底消除运行时编译开销。
+ - Skia:依赖传统 Ganesh 后端,需在运行时动态生成着色器(GPU 指令),首次执行复杂动画易引发卡顿(Jank)
+
+### 🐕 [『极致』的二进制重排](https://juejin.cn/post/7432913408574930971)
+
+[@JonyFang](https://github.com/JonyFang): 本文介绍了基于 `Clang` 静态插桩的二进制重排方案,主要解决了 `Page Fault` 符号部分剩余未彻底清理的问题。基于 `SanitizerCoverage` 完善符号收集机制,也针对 C++ 静态初始化和 Swift 项目等特殊场景提出优化思路。
+
+## 工具
+
+### 🐎 [Data Scout: SwiftData debugging tool](https://medium.com/@djalex566/behind-the-scenes-of-datascout-a-swiftdata-debugging-tool-dcfc880f0733)
+
+[@阿权](https://github.com/bqlin):Data Scout 是一款 SwiftData 调试工具。SwiftData 底层也会使用 SQLite 能力,但读取文件上会有一些细微的差别。
+
+1. 发现数据库:支持从模拟器、App 或本地目录中自动发现 SwiftData 数据库。
+2. 查看数据库结构与内容:与 SwiftData 一致,以 Swift 模型的形式展示数据库的结构。并支持层级导航。
+3. 支持使用谓词进行高级筛选。
+4. 实时更新:支持数据库在外部被更新时实时展示在 Data Scout App 中。
+
+Data Scout 是作者技术的试验场,其使用了 SwiftSyntax、SourceKit、CoreML、Rust 等技术,App 还在持续更新中,更多内容可以阅读:[Behind the Scenes of DataScout: A SwiftData Debugging Tool](https://medium.com/@djalex566/behind-the-scenes-of-datascout-a-swiftdata-debugging-tool-dcfc880f0733)。
+
+## 代码
+
+### [Swift Embedded ESP32C6 OLED Demo](https://github.com/CmST0us/swift-embedded-xiao-esp32c6-expansion_board)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 这个项目展示了如何在 ESP32C6 嵌入式环境中使用 Swift 进行开发,实现了在 OLED 显示屏上渲染旋转 3D 立方体动画。项目的亮点在于演示了 Swift Package Manager 与 CMake 的集成方案,提供了完整的 Swift 嵌入式开发工作流。特别值得关注的是其解决了 Swift 与 C 互操作时的符号链接问题,以及 U8g2 字体优化方案。对于想要探索 Swift 在嵌入式领域应用的开发者来说,这是一个很好的实践参考项目。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+[上海] 米哈游 - 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)
diff --git a/Reports/2025/#338-2025.06.16.md b/Reports/2025/#338-2025.06.16.md
new file mode 100644
index 000000000..d7c9f7f37
--- /dev/null
+++ b/Reports/2025/#338-2025.06.16.md
@@ -0,0 +1,103 @@
+# 老司机 iOS 周报 #338 | 2025-06-16
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Redesigned Swift.org is now live](https://www.swift.org/blog/redesigned-swift-org-is-now-live/)
+
+Swift 上线了新的官网,新官网的设计目标是突出 Swift 易于上手的特性。并且还提供了 软件包、Swift 实际应用示例、代码片段以及进一步学习的资源链接等信息。
+
+## 文章
+
+### 🐕 [What's new in Swift 6.2?](https://www.hackingwithswift.com/articles/277/whats-new-in-swift-6-2)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):Swift 6.2 带来了一系列语言特性增强和并发模型优化,旨在提升开发效率并简化并发编程。以下是核心更新要点:
+- 一.并发编程改进
+ - 1.默认 actor 隔离推断
+ - 2.非隔离异步函数默认在调用者 actor 执行
+ - 3.任务优先级升级 API
+ - 4.任务命名
+- 二.语言特性增强
+ - 1.Raw Identifier 大扩展
+ - 2.字符串插值的默认值
+ - 3.enumerated () 遵循 Collection 协议
+ - 4.方法和初始化器键路径
+- 三.内存安全与调试
+ - 1.可选严格内存安全检查
+ - 2.回溯 API
+- 四.测试框架升级
+ - 1.退出测试
+ - 2.测试附件
+ - 3.条件特性公共 API
+- 五.其他重要更新
+ - 1.弱常量
+ - 2.内联数组
+ - 3.正则表达式后向断言
+ - 4.全局 actor 协议一致性
+
+Swift 6.2 通过简化并发入门门槛、增强语言灵活性和测试能力,持续推动 Swift 在多平台开发中的易用性与专业性。
+
+### 🐕 [Accessorise Your Context Menu Interactions](https://sebvidal.com/blog/accessorise-your-context-menu-interactions/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章介绍了如何通过苹果的私有 API,实现类似 iMessage 消息气泡上的 Tapback 表情选择器效果。作者详细介绍了相关 API 的使用,并给出 Objective-C 桥接和 Swift 运行时动态调用两套完整的方案,巧妙的规避审核风险。有相关需求的同学值得一读。
+
+### 🐕 [A (Re-)Introduction to ExtensionKit](https://www.massicotte.org/extensionkit-intro)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章全面解析了苹果 ExtensionKit 框架的核心功能与应用价值,其中包括:
+
+- 跨平台扩展:支持应用间功能调用与 UI 嵌入(SwiftUI 远程视图),覆盖 macOS/iOS;
+- 高效安全:基于 XPC 通信,强制沙盒化但允许文件共享;
+- 开发要点:需内置于 .app 分发,iOS 支持自动授权;推荐开源库 Extendable 降低复杂度;
+- 应用场景:专业工具集成(如相机 + 修图)、编辑器插件等,为开发者创造跨应用协作新机会;
+
+适合以下开发者深入阅读:
+
+- iOS/macOS 开发者:想要实现跨应用功能集成的技术团队;
+- SwiftUI 使用者:需要深度整合原生 UI 的开发者;
+- 独立开发者:寻找商业化新机会的个人或小团队;
+
+建议关注 iOS 26 对该框架的支持进展,把握跨平台开发新趋势。
+
+### 🐎 [iOS 26 beta1 重新禁止 JIT 执行,Flutter 下的 iOS 真机 hot load 暂时无法使用](https://mp.weixin.qq.com/s/KREg8100EKo3oemJZ6F36Q)
+
+[@david-clang](https://github.com/david-clang):iOS 26 beta1 并未“禁止 JIT ”,而是**精确封堵了 App 进程自身动态修改内存权限并执行未签名代码的能力**,目标是打击利用此机制的恶意软件(App Fraud),同时保留合法的开发调试功能。但 Flutter iOS 真机 hot load 因依赖此机制而“误伤”,需通过解释器等新方案适配。
+
+文章还介绍了几个适配思路,其中混合模式执行的思路很有意思,因为这是 Flutter 热更新框架 shorebird 在 iOS 上目前的热更新方案:**App 整体通过 AOT 运行,只有热更新 patch 存在的时候,针对该部分进行解释执行**。
+
+## 工具
+
+### [SourceKitten](https://github.com/jpsim/SourceKitten)
+
+SourceKit 是一个由 Apple 开发的框架,它构成了 Xcode 等开发工具中大部分语言功能的基础,例如代码补齐,定义跳转等等。尽管 SourceKit 功能强大,但其底层通信协议(基于 XPC)相对复杂,直接使用并不方便。这时,SourceKitten 就应运而生了。
+
+SourceKitten 是一个由社区驱动的开源 SPM 项目,它将与 sourcekitd 的复杂交互封装成了简单易用的命令行工具和 Swift 框架。开发者可以轻松地利用 SourceKitten 来调用 SourceKit 的强大功能,而无需关心底层的实现细节。
+
+可以用来替代 sourcekitd-test,不推荐直接与 sourcekitd-test 交互,输入格式可读性不强。
+
+SourceKitten 默认使用 `sourcekitdInProc.framework/Versions/A/sourcekitdInProc` 处理请求,当然也可以替换为自己本地编译的 Sourcekit (之前已开源)方便排查与定位问题。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#339-2025.06.23.md b/Reports/2025/#339-2025.06.23.md
new file mode 100644
index 000000000..e89c8a7ae
--- /dev/null
+++ b/Reports/2025/#339-2025.06.23.md
@@ -0,0 +1,96 @@
+# 老司机 iOS 周报 #339 | 2025-06-23
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Unique values in Swift: Removing duplicates from an array](https://www.avanderlee.com/swift/unique-values-removing-duplicates-array/)
+
+[@阿权](https://github.com/bqlin):文章介绍了 Swift 中数组去重一些最佳实践。
+
+1. 使用 Set 去重(O(n)),要求元素遵循 Hashable:
+ 1. 不关心顺序场景,可以直接创建对应的 Set,再转换为数组来去重。
+ 2. 对于保留顺序场景,也可以增加 Set 来跟踪出现过的元组,过滤出重复项。
+2. 使用 [Swift Algorithms Package](https://github.com/apple/swift-algorithms) 提供的 `uniqued()` 方法。虽然功能完善,不过对于这个场景可能有些大材小用了,还可以能引入不必要的依赖。
+
+大家在工程实践中,推荐用方法一也够用了,另外这也是各公司面试题中的必考基础算法之一噢。
+
+## 文章
+
+### 🐕 [Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention](https://steipete.me/posts/2025/automatic-observation-tracking-uikit-appkit)
+
+[@AidenRao](https://weibo.com/AidenRao):苹果在 iOS 18/macOS 15 中为 UIKit/AppKit 框架秘密添加了“自动观察追踪”功能。开发者只需在应用的 Info.plist 文件中启用一个键值,UI 就能自动响应数据变化,类似 Swift 的 @publish。(从 iOS 26 开始,此功能默认启用。)
+
+### 🐎 [Recreating the bird animation from Swift.org](https://alexwlchan.net/2025/swift-bird-animation/)
+
+[@Smallfly](https://github.com/iostalks):这篇文章揭晓了 [Swift.org](https://www.swift.org/) 首页那只「飞鸟」的诞生过程。作者深入剖析了这个令人印象深刻的动画:它并非视频,而是巧妙地利用 HTML5 Canvas 和 JavaScript 实现的纯代码杰作。
+核心亮点在于:
+1. 「画笔」效果: 用特殊的 虚线路径(dash pattern) 技巧,模拟出画笔逐渐绘制出飞鸟轨迹的动态。
+2. 精准遮罩: 通过 globalCompositeOperation 技术,将绘制出的动态路径作为「模具」,精准地揭示出底层的精美图像。
+3. 流畅动画: 借助 Anime.js 库 实现平滑自然的运动效果,并考虑了页面加载(MutationObserver)和用户偏好(prefers-reduced-motion)。
+
+### 🐎 [Tips and tricks for when using SwiftUI ’ s ViewBuilder](https://www.swiftbysundell.com/articles/swiftui-viewbuilder-tips-and-tricks/)
+
+[@DylanYang](https://github.com/Dylan19Yang):本文作者主要介绍了使用 SwiftUI 中的 ViewBuilder 类型的一些实用小建议。比如通过在合适的地方添加 ViewBuilder 属性来使得我们自定义的 View 初始化时可以使用 SwiftUI 风格的 View 描述方式。以及提供了两种不同方法达成初始化参数缺省的方式,以简化自定义 View 的初始化。这些方法虽然并不起眼,但是可以让我们在组织代码的时候获得更多的灵活性。
+
+## 工具
+
+### [enableAppleAI](https://github.com/kanshurichard/enableAppleAI)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):可以开启国行设备体验 Apple AI 的工具,优势是不用长期关闭 SIP (完成后可重新开启)。原理是通过修改 eligibilityd 沙盒文件 + 锁权限 。需要注意的是,其中关于注入 eligibilityd 相关代码报错的描述存在一些错误,[XcodeLLMEligible](https://github.com/Kyle-Ye/XcodeLLMEligible/) 并未替换系统的 eligibilityd ,仅是在开发调试 eligibilityd 时对齐系统行为所用。
+
+### [Notepad.exe](https://notepadexe.com/)
+
+[@EyreFree](https://github.com/EyreFree):Notepad.exe 是专为 Swift 开发设计的原生 macOS 应用,主打轻量高效,可替代 Xcode 用于快速原型和代码实验。它支持 iOS 模拟器集成、智能代码补全、实时错误检测,具备便签式悬浮笔记、库式工作流等功能,还有内置 AI 辅助编码。工具注重隐私,数据本地存储,界面简洁无冗余,适合想避开重型 IDE 的开发者,感兴趣的朋友可以试试。
+
+## 代码
+
+### 🐕 macOS 26 恢复启动台小技巧
+
+[@Barney](https://github.com/BarneyZhaoooo):macOS 26 恢复启动台小技巧,终端执行一下命令后重启电脑即可。
+
+```
+
+sudo mkdir -p /Library/Preferences/FeatureFlags/Domain
+sudo defaults write /Library/Preferences/FeatureFlags/Domain/SpotlightUI.plist
+SpotlightPlus -dict Enabled -bool false
+
+```
+
+### [apple-on-device-openai](https://github.com/gety-ai/apple-on-device-openai)
+
+[@Cooper Chen](https://github.com/cjlcooper):这个创新项目巧妙地将 macOS 26 内置的 Apple Intelligence 本地模型(3B 参数)封装成兼容 OpenAI API 的接口,让开发者能在第三方 AI 客户端中直接调用这个轻量级模型,实现隐私优先的本地推理。
+
+技术亮点包括:
+
+- 完整的 OpenAI API 协议兼容,无缝对接现有生态
+- 针对 M 系列芯片优化的本地推理引擎
+- 智能上下文管理,支持多轮对话
+- 典型响应速度控制在 800ms 内(M3 设备实测)
+
+目前项目已在 GitHub 开源,这种创造性地"桥接"系统级 AI 能力的思路,为桌面端 AI 应用开发提供了新范式。对于关注隐私计算和边缘 AI 的开发者,这无疑是个值得研究的样本。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#340-2025.06.30.md b/Reports/2025/#340-2025.06.30.md
new file mode 100644
index 000000000..18fed622a
--- /dev/null
+++ b/Reports/2025/#340-2025.06.30.md
@@ -0,0 +1,109 @@
+# 老司机 iOS 周报 #340 | 2025-06-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐢 [btrace 3.0 对外开源:重磅新增 iOS 支持!免插桩原理大揭秘!](https://github.com/bytedance/btrace/blob/master/INTRODUCTION.zh-CN.MD)
+
+[@JonyFang](https://github.com/JonyFang): btrace 是字节开源的一款高性能 Android/iOS 端性能追踪(Tracing)工具,基于 Perfetto 进行数据展示。它能够详细记录方法的调用过程,精准分析耗时,并归因性能瓶颈,兼具高采样精度和低性能损耗。与 Apple 的 Time Profiler 等传统工具相比,btrace 更加灵活、可自定义,并支持系统方法追踪、有丰富的数据归因和可视化能力,能帮助开发者深入理解和优化 App 性能。
+
+btrace 3.0 相比 2.0 的优化(iOS 视角):
+
+1. 采集方案升级。
+3.0 由单一编译期插桩,升级为“同步抓栈 + 异步抓栈”的混合采样方案。同步抓栈通过 hook 高频系统方法和关键节点,实时采集 Trace 数据;异步抓栈则通过独立采样线程定时回溯线程调用栈,保证采集的时间连续性。相比 2.0,3.0 大幅降低了接入和维护成本,采集更全面、对系统方法也支持更好。
+
+2. 数据存储与压缩优化。
+3.0 针对 Trace 数据量大、存储压力大等问题,设计了高效的调用栈去重与压缩结构。通过空间相似性(调用栈公共前缀合并)、时间相似性(连续相同栈合并)等手段,进一步减少内存和磁盘占用,提升了大体量数据下的可用性。
+
+3. 多线程与性能再提升。
+3.0 优化了多线程数据写入的并发安全性与性能,采用 CAS 等无锁 / 低锁技术,兼顾高性能与数据一致性,在复杂多线程场景下依然保持低开销。
+
+4. 死锁规避与线程采样精细化。
+异步采样时规避了 Time Profiler 可能导致的死锁风险,通过黑名单和信号安全 API 控制,提升了工具的稳定性。同时,仅采集活跃线程,有效降低了对 App 性能的影响。
+
+5. 丰富的性能归因与可视化。
+除了基本的方法调用追踪,3.0 进一步支持 CPU 时间、对象分配、缺页 / 上下文切换、线程阻塞等多维度的耗时归因,配合 Perfetto 可视化,帮助开发者一站式定位性能瓶颈。
+
+6. 易用性和生态提升。
+3.0 极大简化了接入流程,无需业务侧代码大改,无侵入式支持线上场景,支持性能自动诊断和多端(Android/iOS/ 鸿蒙 /Web)扩展,生态愈发完善。
+
+整体来看,btrace 3.0 对 iOS 开发者而言,是一款集高性能、易用性、灵活性于一体的专业 Trace 工具。相比 2.0,3.0 大幅优化了采集方式、性能、安全性和数据分析能力,适合需要深入性能调优、线上问题定位和日常性能治理使用,推荐纳入工程实践!
+
+
+### 🐕 [避免在 Swift 中使用 `self.`](https://juejin.cn/post/7508668930896412722)
+
+[@AidenRao](https://weibo.com/AidenRao):这篇文章探讨了在 Swift 开发中避免不必要的 `self.` 前缀使用,利用编译器检查减少循环引用风险。它基于 Swift 5.3(SE-0269)和 5.8(SE-0365)的演进,在闭包中省略 `self.` 能让编译器强制捕获语义(如使用 `[weak self]`),从而暴露潜在内存泄漏问题。
+
+### 🐕 [Why I ’ ve Filed Over 1,000 Apple Feedbacks — And Why You Should Too](https://www.linkedin.com/pulse/why-ive-filed-over-1000-apple-feedbacks-you-should-too-eric-dorphy-qfe8c/)
+
+[@阿权](https://github.com/bqlin):文章分享了作者关于 Apple Feedback 的心得体会与收益:
+
+1. 反馈的价值:
+ 1. 作者自 2014 年起提交超 1000 条反馈,推动漏洞修复、文档更新及新功能开发(如 HealthKit、MetricKit 等框架的改进)。
+ 2. 对开发者而言,可以理清技术思路、记录测试用例,形成可复用的技术文档;提升沟通能力,强化对平台的理解,甚至在撰写反馈过程中解决问题。
+2. 有效提交反馈的策略:
+ 1. 内容结构化:
+ 1. 标题:包含框架名和关键词(如 “生产问题”“测试版”),例:“ HealthKit: 锻炼会话中 paddleSports 的 totalDistance 弃用导致数据保存失败”。
+ 2. 内容:遵循 “问题描述→预期→复现步骤→重要性→示例项目” 结构,附日志、截图或 sysdiagnose 文件。
+ 2. 高优场景:
+ 1. 生产环境漏洞、重大回归、影响广泛的 API 问题;
+ 2. beta 版本期间,及时提交问题,利用 WWDC 与工程师面对面跟进。
+3. 作者的反馈实践案例。
+
+开发者可以积极参与反馈提交,尤其在 WWDC 和测试版周期中,通过结构化报告和社区分享推动平台改进。反馈不仅是对 Apple 的贡献,更是优化自身开发流程的重要手段。
+
+### 🐢 [Reverse-Engineering Xcode's Coding Intelligence prompt](https://peterfriese.dev/blog/2025/reveng-xcode-coding-intelligence/#explaining-a-chunk-of-code)
+
+[@zhangferry](zhangferry.com):Xcode 26 提供了 Coding Intelligence 功能,并且支持自定义模型。但当前自定义模型支持的 URL 格式 是 ChatGPT 风格的,非这类格式例如 Gemini 还需要依赖 Proxyman 这类网络代理工具做一层转换。(感觉算是 Bug,希望后续能修复)
+文中以 Xcode 中使用 Gemini 为例,抓取和分析了 AI 相关的代码解释、文档生成、代码生成这几个功能所涉及的 Prompt,每一个功能都对应一组封装好的 Prompt,可以了解到 Apple 是如何使用 PE 的:
+
+* 行为约束:完整理解用户意图及代码再回答问题
+* 前置知识:注意 Apple 平台的 API 选型;代码生成优先使用 Swift、OC;优先 Concurrency 而不是 Combine
+* 代码理解:使用 SEARCH 工具(函数调用)获取代码相关上下文,再丢给 LLM
+* 代码生成:除了代码本身,还会查找项目依赖,学习其 API
+
+### 🐕 [Flutter 又双叒叕可以在 iOS 26 的真机上 hotload 运行了,来看看又是什么黑科技](https://mp.weixin.qq.com/s/jGqJFTlLqF2N_rqVdSkLKQ)
+
+[@Damien](https://github.com/ZengyiMa):由于 iOS 26 beta1 禁止了 Debug 时 mprotect 的 RX 权限,导致 Flutte 在 iOS 26 真机上 Debug 运行时出现了问题。为了解决这一问题,Flutter 团队采用了一种临时方案,即创建了 NOTIFY_DEBUGGER_ABOUT_RX_PAGES 函数。当 Flutter 应用需要执行新代码时,该函数会暂停应用并通知调试器,调试器随后利用其特权,通过 debugserver 修改内存权限,实现“双地址映射”,其中一个地址用于写入代码,另一个地址用于执行代码。这一方案虽然解决了当前的运行问题,但存在一定的延迟和较高的环境要求,未来仍需开发高性能的 Debug 解释器来提供更完善的解决方案。
+
+## 代码
+
+### 🐕 [EFQRCode](https://github.com/EFPrefix/EFQRCode)
+
+[@Barney](https://github.com/BarneyZhaoooo):`EFQRCode` 是一个轻量级纯 `Swift` 二维码库,支持生成带水印 / 图标的风格化二维码和图片识别功能。基于 `CoreGraphics`、`CoreImage` 和 `ImageIO`,全平台支持 `iOS/macOS/watchOS/tvOS/visionOS` 。最新 7.0.0 版本重构了 `API`,引入 `EFQRCodeGenerator` 和 `EFQRCodeRecognizer` 类,支持链式配置,改进 `Objective-C` 兼容性。可通过 `CocoaPods`、`Carthage` 或 `SPM` 集成。
+
+## 音视频
+
+### 🐢 [SwiftData versus SQL Query Builder](https://www.pointfree.co/blog/posts/174-free-episode-swiftdata-versus-sql-query-builder)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): Point-Free 团队在 WWDC 2025 期间免费放送了一期重磅视频,深入对比 SwiftData 与他们自家 SQL Query Builder(Structured Queries)在实际开发中的表现。视频以还原 Apple Reminders 复杂查询为例,展示了两种方案在代码简洁性、可组合性和类型安全等方面的差异。
+
+Structured Queries 方案只需 23 行代码即可线性表达复杂查询逻辑,支持类型安全、可读性强;而 SwiftData 不仅写法更繁琐(32 行),还存在布尔和枚举类型无法直接排序 / 筛选、可选字段排序不灵活等问题,甚至有些写法在运行时会直接崩溃。
+
+如果你关心 Swift 持久化方案、数据层架构,或在 SwiftData 和 SQL 之间犹豫,强烈建议观看本期视频。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#341-2025.07.07.md b/Reports/2025/#341-2025.07.07.md
new file mode 100644
index 000000000..c5a5483e4
--- /dev/null
+++ b/Reports/2025/#341-2025.07.07.md
@@ -0,0 +1,95 @@
+# 老司机 iOS 周报 #341 | 2025-07-07
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Don ‘ t Liquid Glass All the Things](https://david-smith.org/blog/2025/06/17/design-dary-liquid-glass-everything/)
+
+[@阿权](https://github.com/bqlin):iOS 26 的液体玻璃效果让大家眼前一亮,大家可能已经在重新设计自己的 App,恨不得给所有 UI 都加上液态玻璃效果。文章提到液态玻璃效果容易滥用,导致界面的不和谐。使用液态玻璃的场景应该是用于突出按钮下方的内容,例如地图预览上方的操作按钮。换句话说,液态玻璃效果的控件会让控件自身与下方内容悬浮出来,形成两个解耦的交互层级,如果控件本身与内容是嵌合的二维依赖关系,则并不适合添加液态玻璃效果。
+
+## 文章
+
+### 🐢 [深入解析| Cursor 编程实践经验分享](https://mp.weixin.qq.com/s/UQPcxiV4UsTxpPYRjaNZIA)
+
+[@Cooper Chen](https://github.com/cjlcooper):本文深度剖析 AI 编程助手 Cursor 的进阶使用方法,为开发者提供一套可落地的效率提升方案:
+
+1.Prompt 设计黄金法则
+
+- 采用"目标-背景-约束"三段式结构
+- 技术方案设计阶段明确禁止生成代码
+- 单测生成时附带示例代码确保风格统一
+
+2.Rules 规范引擎
+
+- 自动生成项目专属开发规范(支持 Go/Java 等)
+- 中间件调用错误率降低至 0.3%
+- 通过"/"命令快速适配团队规范
+
+3.工具链整合方案
+
+- 复杂需求使用 AutoGPT 进行任务分解
+- 技术调研调用 Claude 深度研究模式
+- 钉钉文档直接解析免去格式转换
+
+本文提供的技术方案设计模板和开发规范 Rules 可直接复用,帮助开发者快速建立 AI 辅助编程工作流。文中揭示的"代码生成 + 架构决策"分层协作模式,为现代软件开发提供了高效的智能解决方案。
+
+
+### 🐕 [Flutter 里的像素对齐问题,深入理解为什么界面有时候会出现诡异的细线?](https://mp.weixin.qq.com/s/eESwYV6tfXP-zeygHObCrw)
+
+[@david-clang](https://github.com/david-clang):Flutter 界面中出现的诡异细线,本质原因是:
+
+1. 逻辑像素到物理像素转换出现浮点值(非整数 DPR、布局误差)。
+2. Skia 默认开启 AAA(Analytic Anti-Aliasing)抗锯齿处理,处理相邻同色元素时各自计算的像素覆盖率总和可能不足 100%(如 40% + 50% = 90%)。
+3. 未被覆盖的剩余部分(如上例的 10%)会显露背景色,形成半透明的细线。
+
+解决方案是:
+
+1. [pixel_snap](https://pub.dev/packages/pixel_snap):提前将逻辑像素换算物理像素,根本上避免转换后出现物理像素不对齐。
+2. Impeller: MSAA(Multisample Anti-Aliasing)抗锯齿处理,通过在每个像素内部采样多个点来获得更准确的边缘渲染效果,使那些原本因浮点误差产生的“半像素边缘”更加平滑自然,从而视觉上弱化或隐藏了细线问题。
+
+### 🐕 [Rewriting a 12 Year Old Objective-C iOS App with Claude Code](https://twocentstudios.com/2025/06/22/vinylogue-swift-rewrite/)
+
+[@Smallfly](https://github.com/iostalks): 这是一篇非常详实的 AI 辅助开发实践分享。作者用 Claude Code 将一个 12 年前的 Objective-C 应用 Vinylogue 重写为 Swift + SwiftUI,仅用 7 天时间就完成了从架构升级到 App Store 上架的全流程。
+
+文章的价值在于:
+1. **真实的成本分析** - 详细记录了理论花费 $353 vs 实际花费 $20 的对比,以及每日开发进度
+2. **实用的最佳实践** - 总结了大量 Claude Code 使用技巧,如使用 `--quiet` 标志、合理管理上下文窗口、创建反馈循环等
+3. **架构升级经验** - 展示了如何利用 AI 工具进行大规模重构,从传统架构升级到现代的 swift-dependencies + swift-sharing 架构
+4. **完整的开发流程** - 涵盖了从数据迁移、UI 适配到自动化截图生成的全过程
+
+对于想要尝试 AI 辅助开发的 iOS 开发者来说,这篇文章提供了一个很好的参考框架。特别是文章中提到的"保持在宏观层面评估代码库,让 AI 处理微观层面的工作"这一理念,对提高开发效率很有启发意义。
+
+### 🐕 [Understanding and Improving SwiftUI Performance](https://medium.com/airbnb-engineering/understanding-and-improving-swiftui-performance-37b77ac61896)
+
+[@AidenRao](https://weibo.com/AidenRao):Airbnb 的 SwiftUI 性能优化分享:通过为视图自定义 `Equatable` 协议实现,仅在实际数据变化时触发重绘,避免不必要的视图更新。将大型视图分解为小型可差异化组件,配合复杂度检测工具(如 SwiftLint 规则)预警重构时机,减少单次渲染计算量。
+
+## 代码
+
+### [container](https://github.com/apple/container)
+[@老驴](https://weibo.com/u/6090610445):Apple 最近发布了一个新的开源项目叫 Container,本质上是一个运行在 Linux 上,基于 Swift 和 Virtualization framework 的容器库。它的重点是更好地支持 Apple Silicon 芯片跑容器。 个人猜测,这可能是 Apple 为将来在自家服务器上使用 Apple Silicon 做准备的一步。毕竟一直有传言说 Apple 想让自家数据中心的服务器用上自研芯片,而要做到这一点,一个完善的容器方案是少不了的。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#342-2025.07.14.md b/Reports/2025/#342-2025.07.14.md
new file mode 100644
index 000000000..acc007768
--- /dev/null
+++ b/Reports/2025/#342-2025.07.14.md
@@ -0,0 +1,81 @@
+# 老司机 iOS 周报 #342 | 2025-07-14
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Swift 宣布成立安卓工作组](https://www.swift.org/android-workgroup/)
+
+Swift 官方宣布成立 Android 工作组,将 Android 列为官方支持的平台。该工作组的主要目标是为 Swift 语言添加并维护 Android 平台支持,让开发者能够使用 Swift 开发 Android 应用。
+
+## 文章
+
+### 🐕 [A Swift Developer ’ s Guide to Prompt Engineering with Apple ’ s FoundationModels](https://www.natashatherobot.com/p/swift-prompt-engineering-apples-foundationmodels)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章是关于 Apple's FoundationModels 在 Swift 开发中的提示工程指南。Apple 的 Foundation Model 专门为 Swift 和 SwiftUI 训练,有 4096 token 的上下文限制。核心技术是使用 Generable 宏定义输出结构,通过 Guide 系统精确控制生成内容。文章强调属性顺序的重要性,因为 LLM 逐 token 生成。实用技巧包括自然语言长度修饰符、角色设定、少样本提示法和温度调节。对于用户输入,建议限制开放字段并妥善处理 guardrail 错误。为 Swift 开发者提供了原生、类型安全的 AI 集成方案。
+
+### 🐕 [Finding my Way](https://david-smith.org/blog/2025/07/02/new-maps/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 独立 iOS 开发者 David Smith 分享了他在基于 iOS 26 设计语言重新设计 Pedometer++ 的地图功能的一些思考。文章详细描述了他的设计过程,包括如何让地图全屏显示、如何优化顶部按钮、如何设计浮动的信息面板等。
+
+### 🐢 [《别急于下定论:人工智能编程工具实则可能降低生产力》 Not So Fast: AI Coding Tools Can Actually Reduce Productivity ](https://secondthoughts.ai/p/ai-coding-slowdown)
+
+[@Cooper Chen](https://github.com/cjlcooper):在 AI 编程工具被广泛吹捧的背景下,METR 实验室通过一项严谨的随机对照试验(RCT)揭示了一个反直觉的结论:经验丰富的开发者在成熟项目中使用 AI 工具后,工作效率反而降低 19%。这项研究基于 16 位资深开源开发者在百万行代码项目中的 246 项真实任务,挑战了“ AI 必然提升效率”的行业共识。
+
+关键发现:
+
+- 效率幻觉:开发者普遍预期 AI 能提速 24%,实际却拖慢 19%,认知偏差高达 40 个百分点。
+- 时间消耗:44% 的 AI 生成代码被废弃,开发者 9% 的时间用于修正 AI 输出,4% 在等待响应。
+- 适用场景:AI 在小型新项目中表现良好,但对复杂系统维护可能适得其反。
+
+### 🐕 [Schedule a countdown timer with AlarmKit](https://nilcoalescing.com/blog/CountdownTimerWithAlarmKit/)
+
+[@阿权](https://github.com/bqlin):文章详细介绍了如何使用 WWDC25 推出的 AlarmKit 框架实现倒计时提醒功能。过去要实现指定时间提醒功能,普通开发者只能通过苹果的通知推送。虽然通知能自定义时机甚至提醒铃声,但始终还是通知,在静音模式和专注模式下都无一幸免,要想像系统闹钟一样即使在静音和专注模式下还能提醒,只能通过新推出的 AlarmKit 了。AlarmKit 支持一次性闹钟、重复闹钟和立即开始的倒计时提醒,AlarmKit 提供的能力需要用户授权,并需要适配锁屏展示和灵动岛中的展示,具体配置可浏览原文。
+
+只希望该功能不要被厂商滥用,尤其不要用在“加急”功能上啊!
+
+### 🐎 [Google I/O Extended :2025 Flutter 的现状与未来](https://mp.weixin.qq.com/s/hqra9NJJ4-KwtoQFc6h1mg)
+
+[@david-clang](https://github.com/david-clang):本文的分享更侧重于科普类型的概括,包括 Flutter 的市场渗透率、技术进展、未来方向,其中有几个有趣的点:
+
+1. 市场渗透率:
+ - **Flutter 比 RN 的整体渗透率高**:根据 2025 年 6 月[腾讯端服务](https://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653581211&idx=1&sn=eb05a7282b245fd33dedfa1ace9a2c76&scene=21#wechat_redirect)统计整体渗透率,Flutter 约 13%,RN 约 9%。另外,根据 Apptopia 统计,2024 年 AppStore 里 Flutter 占据所有新免费 iOS 应用的近 30%。
+
+2. 技术进展:
+ - **线程合并**:之前的 3.29 Android 和 iOS 默认合并 Dart UI 线程和平台线程,从最近 3.32 开始, Windows 和 macOS 也支持合并 Dart UI 线程和平台线程。
+ - **多窗口**:在本文发布后 2 天,对多窗口的支持已经合到主分支([#168728](https://github.com/flutter/flutter/pull/168728)),在 Engine 层引入在 Windows、macOS 和未来 Linux 平台上创建并管理多个窗口的机制。
+
+3. 未来方向:
+ - **移除 Cupertino 和 Material 的内置**:对于 iOS 26 的液态玻璃实现,官方已经明确了不会内置支持,甚至连 Android 的最新 Material 3 Expressive 也是,长期来看,把特色控件从 Framework 内置移除,专注引擎优化,是个更好的方向。
+ - **ffigen/jnigen 持续优化**:线程合并的主要目的,是为了抛弃历史产物 MethodChannel,而在互操作这件事情,未来肯定是 Dart 和平台语言直接互调用,而 3.32 也提到了,ffigen/jnigen 也在持续改进并内测,预计下半年会有全新的消息。
+
+### 🐎 [使用 Xcode 26 构建,在 (, iOS 26) 设备启动崩溃 Symbol not found: _NSUserActivityTypeBrowsingWeb](https://github.com/SwiftOldDriver/iOS-Weekly/issues/5062)
+
+[@DylanYang](https://github.com/Dylan19Yang):使用 Xcode 26 构建包,跑在版本号小于 iOS 26 的系统上会在启动阶段遇到设备启动崩溃 Symbol not found: NSUserActivityTypeBrowsingWeb。原因是 CoreServices 在 iOS26 SDK 中重新导出了 NSUserActivityTypeBrowsingWeb 符号,导致链接时将符号绑定到了 CoreServices 模块。修复方案是把 Foundation 的在链接参数中的位置往前面提到 CoreServices 之前。
+
+> [CrazyFanFan](https://github.com/CrazyFanFan) 提供信息
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#343-2025.07.21.md b/Reports/2025/#343-2025.07.21.md
new file mode 100644
index 000000000..3939f4b56
--- /dev/null
+++ b/Reports/2025/#343-2025.07.21.md
@@ -0,0 +1,83 @@
+# 老司机 iOS 周报 #343 | 2025-07-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [Meet the Inspector view in SwiftUI](https://serialcoder.dev/text-tutorials/swiftui/meet-the-inspector-view-in-swiftui/)
+
+[@阿权](https://github.com/bqlin):文章介绍了 SwiftUI 中检查器视图(Inspector View)的用法:
+
+1. 基本概念与使用场景:
+ 1. 检查器视图用于展示主内容的附加信息,默认在右侧展示(macOS/iPadOS),在紧凑尺寸设备(如竖屏 iPhone)上以 sheet 形式呈现。
+ 2. 需要 macOS 14+ 和 iOS 17+。
+2. 基本用法:通过 `inspector(isPresented:content:)` 控制检查视图的显隐。
+3. 自定义宽度:支持固定宽度 `inspectorColumnWidth(_:)`,和用户拖拽控制宽度 `inspectorColumnWidth(min:ideal:max:)`。
+4. 检查器入口按钮与导航工具栏的适配,问题提供了三种适配方案。
+5. 在紧凑尺寸中的展示效果及其适配方案。
+
+在苹果提供中的 App 中,检查视图是用户早已习惯的交互形式,使用检查视图可能提升 App 的专业性并提升用户体验。
+
+## 文章
+
+### 🌟 🐢 [An open source tool to speed up iOS app launch](https://blog.sentry.io/open-source-tool-speed-up-ios-app-launch/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):Emerge Tools 提供了一个轻量级的收集 App 启动阶段内执行到的函数的收集工具,而不用修改编译选项(开启插桩),以此可以用来投喂给 Xcode 进行二进制重排,进而通过减少启动过程中的 Page In 数量来加快启动速度。技术方案是通过 Linkmap 或者 [trick 的方式](https://github.com/getsentry/FaultOrdering/blob/main/Sources/EMGFaultOrdering/Constructor.mm#L137) 收集函数起始的地址。然后对所有函数起始地址替换汇编指令为触发 ARM64_BREAK_INSTRUCTION 。在捕获断点后,记录下此方法,然后跳转原始逻辑继续执行。其中有非常多的细节,推荐对此感兴趣的同学阅读。
+
+同时可以对此工具稍加改造,以此适配收集 App 任意阶段内的执行函数(如某个巨大模块),然后执行预热,以加快某个模块的冷启动首次进入耗时;同时其中涉及到与 [SimpleDebugger](https://github.com/EmergeTools/SimpleDebugger) 的联动,可以进行修改优化,目前是每个函数都执行一次 StopTheWorld + 替换单个函数汇编方便断点记录,可以修改为 批量执行一次 StopTheWorld + 替换所有需要函数。
+
+### 🐕 [Everything You Should Know About Spacer](https://kyleye.top/posts/everything-you-should-know-about-spacer/)
+
+[@AidenRao](https://weibo.com/AidenRao):SwiftUI 提供了四种 `Spacer` 类型实现灵活布局:通用 `Spacer` 在可用空间内沿主轴扩展;`_TextBaselineRelativeSpacer` 支持文本基线对齐;`_HSpacer`/`_VSpacer` 严格限定方向。它们通过 `PrimitiveSpacer` 协议共享核心属性(`minLength`, `axis`, `requireTextBaselineSpacing`)
+
+### 🐕 [Swift 6.2 Java 互操作性实践](https://arturgruchala.com/swift-6-2-java-interoperability-in-practice/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这篇文章展示了如何通过 Swift 6.2 的 swift-java 包实现 Swift 与 Java 的高效互操作。整个过程通过标准工具链(SwiftPM + Makefile)自动化,从 Java 编译到 Swift 调用无缝衔接,大大简化了跨语言开发的复杂度。最终实现了 Swift 程序可以优雅地调用 Java 方法的目标。
+
+### 🐕 [What you need to know before migrating to Swift Testing](https://soumyamahunt.medium.com/what-you-need-to-know-before-migrating-to-swift-testing-b9c1d749ebd5)
+
+[@JonyFang](https://github.com/JonyFang): 一篇 Swift Testing 迁移指南摘要,介绍了从传统 XCTest 框架迁移到 Swift Testing 框架前需要了解的关键信息。如:
+
+- Swift Testing 框架的主要优势和新特性
+- 迁移过程中可能遇到的常见兼容性问题
+- Swift Testing 与 XCTest 的语法和结构差异
+- 一些迁移策略建议和最佳实践
+
+对于正在考虑升级测试框架的 iOS 开发者来说,这是一篇实用的参考指南。
+
+## 代码
+
+### [部分使用了 Data.bytes 的代码无法正常编译](https://github.com/SwiftOldDriver/iOS-Weekly/issues/5061)
+
+[@Smallfly](https://github.com/iostalks):iOS 26 SDK 中 ``Foundation.Data`` 扩展了新的属性 ``var bytes: RawSpan { get }``,如果之前的实现里面使用了 CryptoSwift 对 Data 添加的 extension 中的 ``var bytes: Array`` 且未明确 ``import CryptoSwift`` 就会遇到编译器无法正确匹配实现的问题。
+
+使用到的位置主动 `import CryptoSwift` 明确实现来源。
+
+CryptoSwift 已将 extension 重命名为 byteArray ,[PR](https://github.com/krzyzanowskim/CryptoSwift/pull/1076)。
+
+> [CrazyFanFan](https://github.com/CrazyFanFan) 提供信息
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#344-2025.07.28.md b/Reports/2025/#344-2025.07.28.md
new file mode 100644
index 000000000..6e56db56b
--- /dev/null
+++ b/Reports/2025/#344-2025.07.28.md
@@ -0,0 +1,73 @@
+# 老司机 iOS 周报 #344 | 2025-07-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [WWDC 2025: What's new for the Apple community?](https://www.createwithswift.com/wwdc-2025-whats-new-for-the-apple-community/)
+
+[@BluesJiang](https://github.com/bluesjiang):这篇文章快速介绍了 WWDC25 的重要更新,很适合产品、开发者进行速览,快速发现自己关系的功能和相关技术的介绍。文章很贴心的将相关文档的链接内置的其中方便读者快速检阅。其中的液态玻璃的适配和 Apple Intelligent 是重点的更新项目,也是开发者比较值得关注的地方。因为液态玻璃的启用是系统默认行为,可能会带来不少适配的问题。文章也简单介绍了一下 Swift 和 SwiftUI 的更新。不过文章中没有特别介绍 visionOS 的相关更新,其实这方面苹果也开放了很多新能力来发掘 Apple Vision Pro 的潜能,非常值得相关开发者关注一下。
+
+### 🐎 [迁移至 Swift Actors](https://juejin.cn/post/7527865199861841947)
+[@Smallfly](https://github.com/iostalks):这篇文章聚焦 Swift Actors 在实际项目中的迁移实践,针对传统并发方案(锁、队列)易遗漏保护、无法保证原子性的痛点,给出了 Actor 重构的具体路径。核心内容包括:
+
+- **数据模型重构**:通过 `actor` 替代传统类,编译器强制属性隔离访问,从源头避免数据竞争;结合 `performInIsolation` 实现多属性原子操作。
+- **环境桥接**:用 `nonisolated` 标记协议方法,通过 `Task` 异步调用隔离逻辑,兼容同步与并发环境。
+- **线程正确性**:`@MainActor` 标记类 / 属性,编译器检查调用链线程,解决 UI 更新等场景的崩溃隐患;解析 `@preconcurrency` 对 OC 导入类的影响,明确编译器警告边界。
+- **内部并发**:`nonisolated` 函数配合 `async let` 处理耗时任务,结合任务取消机制解决重入问题。
+
+文章以 `Uploader` 和视图模型为例,串联工具链与代码细节,为老项目迁移至现代并发模型提供了可复用的实践参考。
+
+### 🐢 [CursorShenzhen 0608 讲师 PPT](https://pf2n1japaz.feishu.cn/docx/DgAudpiFpoVqFgxEx00czJyonzf)
+
+[@Cooper Chen](https://github.com/cjlcooper):这是 6 月 8 日深圳 Cursor 技术讲座 PPT 合集,汇集了 6 位专家的精彩分享,其中包括:
+
+- 生产级 Cursor 应用——企业级开发规范、团队协作优化、工程化实践
+- AI 创业实战 —— 如何用 Cursor 构建 AI 公司,技术栈选择与商业化落地
+- 智能前端开发 —— Cursor + Figma 联动,自动生成高质量前端代码
+- 更多实战技巧——代码优化、Prompt 工程、AI 辅助调试与部署
+
+特别适合正在使用 Cursor 的开发者学习参考。
+
+### 🐕 [Giving Claude Code Eyes to See Your SwiftUI Views](https://twocentstudios.com/2025/07/13/giving-claude-code-eyes-to-see-your-swiftui-views/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文探讨如何为 Claude Code 提供视觉能力来查看 SwiftUI 视图渲染结果,核心方案是通过 Swift Snapshot Testing 实现可视化验证工作流。
+
+**技术方案**:配置测试套件,建立"生成快照→分析对比→优化代码→迭代验证"的闭环流程。
+**实战验证**:通过重建用户列表界面测试发现,Claude Code 在图像分析方面存在局限性,难以精确识别字体、间距、颜色等细节差异。
+**结论**:当前技术仍处于研究阶段,建议迭代不超过 3 次即引入人工干预,对于像素级需求直接提供设计稿更有效。
+
+### 🐎 [Modern Swift Lock: Mutex & the Synchronization Framework](https://www.avanderlee.com/concurrency/modern-swift-lock-mutex-the-synchronization-framework/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者向我们介绍了 Swift 中的 Mutex 锁,Mutex 锁是 Swift 锁的其中一种,只需要在声明变量时将类型通过 Mutex 关键字包裹起来,后续所有对该变量的访问就都可以通过锁的方式进行从而避免多线程的数据竞争问题。Mutex 也可以和 Swift Concurrency 配合使用。而和 actor 相比 Mutex 更轻量,并且支持同步调用,开发者可以按需在他们之间做出选择。感兴趣的开发者可以阅读一下。
+
+## 工具
+
+### [Apple Docs MCP - Apple 开发者文档 MCP](https://github.com/kimsungwhee/apple-docs-mcp)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一个名为 Apple Docs MCP 的开源项目,提供一个 Model Context Protocol(MCP)服务器,专门用于让 AI 助理(如 Claude、Cursor、VS Code 中的 MCP 客户端等)能够通过自然语言查询访问 Apple 官方开发者文档:包括 iOS/macOS/watchOS/tvOS/visionOS 的框架 API、Sample Code、WWDC 视频内容等。如果你是 iOS/macOS 开发者,尤其需要查询最新 iOS 26 / SwiftUI、UIKit、AlarmKit 等 API,并希望 AI 助理能实时且正确地生成示例代码,这个工具可以极大简化流程。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#345-2025.08.04.md b/Reports/2025/#345-2025.08.04.md
new file mode 100644
index 000000000..c4db79cd8
--- /dev/null
+++ b/Reports/2025/#345-2025.08.04.md
@@ -0,0 +1,103 @@
+# 老司机 iOS 周报 #345 | 2025-08-04
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [App Store Connect 中的年龄分级现已更新](https://developer.apple.com/cn/news/?id=ks775ehf)
+
+苹果在 iOS 26 及以后的商店中更新了更细化的年龄分级,在现有的 4+ 和 9+ 分级的基础上,更新后的年龄分级系统新增了三个分级:13+、16+ 和 18+。苹果已经向开发者发送了邮件提醒需要完成新的年龄分级调查问卷。大家可以按需填写更新分级。
+
+分级的截止日期为 2026 年 1 月 13 日。
+
+## 新手推荐
+
+### 🐎 [Deciding between 'let' and 'var' for Swift struct properties](https://www.swiftbysundell.com/articles/let-vs-var-for-swift-struct-properties/)
+
+[@阿权](https://github.com/bqlin):文章围绕 Swift 结构体中 let 与 var 的最佳实践与注意事项展开,内容如下:
+
+1. 结构体的可变性规则
+ 1. 可变性遵循“整体不可变则部分也不可变”规则(即使属性使用 var 声明)。
+ 2. var 声明的实例仅 var 属性可变,let 属性始终不可变。
+2. let 的使用场景
+ 1. 唯一 id 属性:一旦创建就不应改变,始终确保实例全局唯一的场景。
+ 2. 依赖初始化的属性:值初始化完成后,后续无需改变的场景。
+ 3. 声明为 let,表达了本质不可变的语义,避免了意外修改,也保证了数据一致性。
+3. var 的使用场景
+ 1. 状态属性:需随业务逻辑动态更新。
+ 2. 依赖属性:值需依赖外部条件刷新。
+4. 语义表达
+ 1. 两者的使用应更多考虑语义的表达,使其自文档性,let 暗示着永久不可变,var 暗示着可动态调整。
+ 2. 应管控 var 的使用,可提升代码的可预测性。
+
+合理使用 let 与 var 能提升代码安全性、可读性和可维护性,也是 Swift 结构体设计的核心原则。
+
+### 🐎 [New Watch](https://david-smith.org/blog/2025/07/22/new-watch/)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye):一篇 watchOS UI 设计语言变迁的实践记录与设计取舍思考,推荐给关注 watchOS 适配与视觉一致性的开发者。
+
+## 文章
+
+### 🐕 [A Peek into My Debugging Process (With Real Examples)](https://www.polpiella.dev/how-i-fix-bugs-in-my-apps/)
+[@Smallfly](https://github.com/iostalks):这篇文章通过三个真实案例,分享了 iOS 开发者在实际项目中调试应用的完整流程,涵盖崩溃、性能回归与意外系统提示三类常见问题。核心调试策略包括:
+
+- **崩溃排查**:结合崩溃日志(含 SwiftUI/AppKit 内部调用栈)、Diagnostics 工具定位网络失败上下文,用 Proxyman 模拟请求失败复现问题,最终通过调整 UI 布局(`HStack` 改 `overlay`)解决。
+- **性能优化**:利用 Xcode Instruments 的 Time Profiler 发现串行网络请求,通过 Swift 结构化并发(`async let` 并行任务)提升加载效率。
+- **系统提示溯源**:通过注释初始化代码、本地克隆第三方库,定位到 `ProcessInfo().hostName` 调用触发网络权限提示,最终通过库代码替换修复。
+
+文章强调「调试时间主要花在定位而非修复」,系统掌握工具(崩溃日志、Proxyman、Instruments)与方法(二分排查、上下文分析)是提升效率的关键,为开发者提供了可复用的调试实践参考。
+
+### 🐕 [ChatGPT in Xcode 26: there ’ s a hidden prompt!](https://www.swiftwithvincent.com/blog/chatgpt-in-xcode-26-theres-a-hidden-prompt)
+[@AidenRao](https://weibo.com/AidenRao):Xcode 26 内置了 ChatGPT 功能,并在对话开始前注入一个隐藏提示词,用于优化 AI 编程助手的输出质量与安全性。了解提示的内容可以让我们更好地理解 ChatGPT 可以访问哪些信息以及苹果给出了什么上下文。
+
+### 🐕 [Combine and Swift Concurrency: A threading risk](https://www.avanderlee.com/concurrency/combine-and-swift-concurrency-a-threading-risk/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章探讨了从 Combine 迁移到 Swift Concurrency 过程中的线程安全风险。
+
+**核心问题:** 作者在 RocketSim 项目升级到 Swift 6.2 严格并发模式后发现,使用 `Combine` 观察通知并调用 `@MainActor` 标记的方法时,当通知从非主线程发出会导致崩溃。
+
+**关键风险:** `Combine` 的 `sink` 闭包缺乏编译时线程安全检查,而直接使用 `NotificationCenter` 的 `addObserver` 方法则会在编译时报错。这种隐蔽性使得问题只在运行时暴露。
+
+**解决方案:** 推荐迁移到 `Swift Concurrency` 的 `for await` 语法观察通知,获得编译时安全保障。对于必须保留的 `Combine` 管道,建议在 `sink` 内使用 `Task` 包装或通过 `receive(on:)` 指定执行队列。
+
+总结:`Combine` 与 `Swift Concurrency` 混用存在隐性线程风险,应优先迁移到纯 `Swift Concurrency` 方案。
+
+### 🐎 [My 10 Tips for Using Claude Code](https://samwize.com/2025/07/08/my-10-tips-for-using-claude-code/)
+
+[@david-clang](https://github.com/david-clang):这篇文章总结了作者使用 Claude Code 的 10 个高效技巧,推荐给想提升 Claude 使用效率的开发者。包括自定义 Slash 命令、自动生成 commit 信息等加快开发效率的技巧,还有使用 ccusage 统计工具去监控 token 成本的技巧。
+
+## 代码
+
+### [Foundation Models Framework Example](https://github.com/rudrankriyam/Foundation-Models-Framework-Example)
+
+[@zhangferry](zhangferry.com):该仓库是 Foundation Models 框架的示例演示,除了基本能力:基础聊天、结构化数据生成、流式响应、Tools 调用的示例,还提供了基于这些能力打造的几个示例应用:语音相关的 AI 应用、健康数据分析的 AI 应用、Pokemon 分析的 AI 应用,作者还把常用的 Tools 封装成了一个 [Tools](https://github.com/rudrankriyam/FoundationModelsTools) 库。
+
+Foundation Models 的优势在于本地执行、隐私保证、原生 API,一切看似很美好,但使用前别忘了这些限制:系统版本 26+ 且设备支持 Apple Intelligence。
+
+## 内推
+
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
+
+- [北京 / 深圳] 抖音基础技术 - 代码分析方向 - iOS 资深研发工程师
+- [上海] BiliBili - 移动端开发实习生(社区生态)- iOS/Android
+
+具体信息请移步: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)
diff --git a/Reports/2025/#346-2025.08.11.md b/Reports/2025/#346-2025.08.11.md
new file mode 100644
index 000000000..18eee0603
--- /dev/null
+++ b/Reports/2025/#346-2025.08.11.md
@@ -0,0 +1,102 @@
+# 老司机 iOS 周报 #346 | 2025-08-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [Uncertain ](https://nshipster.com/uncertainty/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者向我们描述了原生确定的 Bool 值无法精确表达一些概率出现的场景,因此引入了 Uncertain 这样一个库。它将不确定性引入到了编码之中,它可以通过概率建模来描述一个事件的概率而非结果。这可以被用于 GPS 定位或者传感器噪声等含有不确定性的场景。实际使用时,开发者可以通过比对概率值来进行需要的逻辑开发。感兴趣的读者,可以阅读原文进一步了解。
+
+### 🐢 [一个半月高强度 Claude Code 使用后感受](https://onevcat.com/2025/08/claude-code/)
+
+[@JonyFang](https://github.com/JonyFang): Claude Code 在"读懂代码→规划变更→实施改造→文档 / 测试"整链路提效明显,但必须用工程化流程与成本控制兜底。把它当"结对编程伙伴"和"高效审阅者",而不是自动合并器;产出视为草稿,经评审与测试落地更稳。
+
+关键优势:
+- 跨文件 / 长上下文理解强,能给出可执行的分步计划
+- 重构、迁移、批量机械化改动效率高
+- 文档 / 测试 / 变更摘要产出质量好,便于知识传递
+- 对话式协作体验顺滑,降低思维切换成本
+
+主要痛点与对策:
+- 成本易失控(重度 API/ 长上下文):设预算 / 配额与告警,精简上下文,结果缓存,订阅 +API 混合
+- 偶发幻觉 / 环境不匹配:在提示中明确版本 / 依赖,强制编译与测试,小步提交 + 代码评审
+- 长会话漂移:阶段性重置,会话内先对齐"当前共识",用固定提示模板
+- 合规与隐私:最小化 / 脱敏,优先企业版或私有部署,审计与密钥扫描
+
+适用场景:原型与探索、跨文件重构 / 迁移、批量替换 / 格式化、补齐测试与文档、代码走查与交接
+
+回避场景(尽量不让其直接改动):
+- 安全 / 核心关键路径:鉴权与权限、加密与密钥、支付 / 交易、隐私合规、一致性与并发、性能临界路径、底层 FFI(可让其做威胁建模 / 测试清单 / 审阅)
+- 强环境耦合构建:工具链与版本、依赖与构建系统、签名与发布、架构 /SDK 差异、链接与符号、脚本与环境变量(可让其做日志总结 / 排查清单 / 最小复现)
+
+与其他工具对比:跨文件理解与规划普遍强于补全型 / 纯 IDE 聊天;但即时补全流畅度与深度 IDE 集成,部分竞品更占优
+
+实施建议:
+- 工作流:先"读项目→列计划→小步提交 / 分 PR ",以测试 /CI 护栏把关
+- 提示工程:固定模板(项目约束 / 版本 / 风格 / 完成定义),限制改动范围与风险级别
+- 质量保障:单测优先、属性测试 / 回归套件、灰度发布与回滚预案
+
+成本策略:设用量监控与告警;合并同类任务批处理;订阅与 API 按场景取舍;重度场景定期复盘性价比(作者实测重度使用可达数千美金级别)
+
+适合人群:需要频繁跨文件改造与知识传递的团队 / 个人;维护大型代码库或做重构 / 迁移 / 文档化的工程师
+
+### 🐕 [@ViewConfigurable — A better way to build SwiftUI components](https://medium.com/grindr-engineering/tl-dr-swiftui-makes-customizing-views-feel-effortless-until-you-build-your-own-reusable-4a3a0cd0e288)
+
+[@AidenRao](https://weibo.com/AidenRao):如果你想将自定义组件有类似 SwiftUI 的语法,需要针对每一个配置去创建一个新的函数,用于实现链式调用。作者开发了一个名为 @ViewConfigurable 的宏,该宏将根据它在 ViewConfiguration 中看到的变量名自动生成这些链式调用函数,这也会让你的代码文件变的很简洁。
+
+## 设计
+
+### 🐢 [Designing for the Eye](https://www.nubero.ch/blog/015/)
+
+[@阿权](https://github.com/bqlin):本文围绕 "视觉错觉矫正" 展开,探讨其在排版与建筑中的应用,内容如下:
+
+1. 视觉错觉的普遍性
+ - 以穆勒・莱尔错觉为例,说明视觉错觉对所有人(无论文化背景)的影响一致,甚至适用于动物与触觉感知。
+ - 保罗・雷纳在《排版艺术》中指出:视觉艺术应以 "视觉呈现" 为基准,而非严格的测量数据—— 因为人类感知存在共性偏差。
+2. 排版中的视觉矫正
+ - 以字体 "Futura" 为例,说明字体需通过微调来对抗视觉错觉:如字母 "O" 并非完美圆形,而是略宽于高,水平线条稍细于垂直线条,以避免 "蛋形" 错觉。
+ - 字母设计需考虑整体协调:如 FF Tisa 的 "O" 上伸部分超出参考线,以平衡与其他字母的视觉重量,避免显得过小。
+3. 建筑中的视觉矫正
+ - 以帕特农神庙为例,古希腊建筑师通过系统性调整抵消视觉偏差:
+ - 柱身 "鼓肚"(entasis):柱子中间微凸,避免因收分导致的 "纤细感";
+ - 地基弯曲:柱基呈凸形,防止视觉上的 "塌陷";
+ - 柱子倾斜:所有柱子微微内倾,避免 "外倒" 错觉。
+ - 这些调整让建筑 "看起来协调",而非追求几何完美,赋予其生命力。
+4. 深层意义:反对平庸,追求美与文化
+ - 视觉矫正的本质是对 "视觉真实" 的尊重,体现了对细节与美的极致追求。
+ - 对比现代 " Excel 思维" 主导的平庸设计(如冰冷的混凝土建筑),强调这种对微妙之处的关注是人性与文化的体现。
+ - 引用乔布斯的观点:人类进步依赖于传播 "精华",让更多人理解美的微妙——这也是希腊人建造神庙、设计师打磨字体的根本原因。
+
+文章最终呼吁:拒绝平庸,珍视那些让生活值得的 "美与文化"。
+
+## 课程
+
+### [Metal Shaders for SwiftUI](https://www.metal.graphics/)
+
+[@BluesJiang](https://github.com/bluesjiang): 这个是一个在 SwiftUI 框架上如何使用自定义的 Shader 来实现高级渲染效果的课程,包含了渲染相关的基础知识,也包含了 SwiftUI 如何兼容使用 Metal Shader 的相关知识。不算是通识的知识,但是对于那些使用 SwiftUI 作为主力框架,并且需要非常特殊的渲染效果的应用,这门课程是可以去了解一下的。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#347-2025.08.18.md b/Reports/2025/#347-2025.08.18.md
new file mode 100644
index 000000000..61a68065f
--- /dev/null
+++ b/Reports/2025/#347-2025.08.18.md
@@ -0,0 +1,71 @@
+# 老司机 iOS 周报 #347 | 2025-08-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [万字长文解码如何玩转Prompt(附实践应用)](https://mp.weixin.qq.com/s/ad6y-pCe1_PV7iNA7Uh1bg)
+
+[@zhanggferry](zhangferry.com):这是一篇来自淘宝团队,讲解提示词工程(PE)非常全面的文章,包含业界各类优秀方法论,当你苦于 AI 「不听话」时可以从这里获取灵感。除了提示词设计的七个核心原则,还可以结合你的应用场景,考虑使用这六大高级技巧:
+
+* 思维链:提供「推理过程 + 答案」范例,激发 LLM 深度逻辑思考
+* 零样本思维链:无需范例,仅追加 “让我们一步一步地思考”,触发 LLM 分步推理
+* 自我一致性:调高模型温度,多次独立解答同一问题,按 “少数服从多数” 选最终答案
+* ReAct(思考与行动):以 “思考→行动→观察” 循环,让 LLM 调用外部工具(API、搜索引擎等)
+* 生成知识提示:先让 LLM 生成问题相关背景知识,再结合知识回答原问题
+* 结构化提示:用 XML、JSON、YAML 等严格格式定义提示词,消除歧义
+
+
+### 🐕 [@isolated(any)](https://nshipster.com/isolated-any/)
+[@Smallfly](https://github.com/iostalks):在 Swift 并发模型逐渐完善的过程中,@isolated(any) 作为一个相对低调却关键的特性,正在为 API 设计与任务调度提供新的可能性。
+
+这篇文章系统地阐释了 @isolated(any) 的设计动机、语义价值以及在实际 API 中的应用方式。作者通过对比 GCD 与 Swift Concurrency,结合异步函数和 actor 隔离的案例,清晰展示了该属性如何让调度系统基于隔离信息做出更合理的决策。
+
+对于大多数开发者而言,@isolated(any) 在日常编码中可能并不直接显现;但若你正在编写并发 API、涉及跨 actor 调度,或希望深入理解 Swift 并发体系的演进方向,这篇文章将为你提供扎实的理论支撑与实践启发。
+
+### 🐎 [Flutter 3.35 发布,快来看看有什么更新吧](https://mp.weixin.qq.com/s/PPnSmA3XmyS3cZ_m7zgpdw)
+
+[@david-clang](https://github.com/david-clang):这次更新除了常规的控件更新和性能优化外,还有两点值得关注下:
+
+1. **多窗口支持**:在 Engine 层已实现在 Windows 和 macOS 中创建和更新窗口的基础逻辑 ( [#168728](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.amrom.workers.dev%2Fflutter%2Fflutter%2Fpull%2F168728 "https://github.com/flutter/flutter/pull/168728") ),后续版本将更新 Linux 系统,并引入实验性 API 以支持多窗口功能。
+ - 虽然官方还没提供多窗口 Demo 来展示 API 的使用,但社区已有人提交 Windows Demo 的[PR](https://github.com/flutter/flutter/pull/173715),也可以通过 [Multi Window](https://github.com/orgs/flutter/projects/39/views/1) 了解官方的进度。
+
+2. **Dart & Flutter MCP**:Dart 和 Flutter MCP Server 正式 stable 发布,主要是增强了 AI 编码助手的 Dart 和 Flutter 上下文,Dart 和 Flutter MCP Server 充当桥梁,可以让 AI 通过 Dart 和 Flutter 工具链访问项目的更多上下文:
+ - 修复运行时错误 :检查实时 Widget 树,识别 Flutter RenderFlex 溢出,并自动应用正确的修复。
+ - 管理依赖项 :在 pub.dev 上找到针对特定任务的最佳包,将其添加到 `pubspec.yaml` ,然后运行 `pub get`。
+ - 编写和纠正代码 :为新功能生成样板,然后自行纠正其在此过程中引入的任何分析错误。
+
+## 代码
+
+### 🐕 [swiftlang/swift-subprocess: Subprocess is a cross-platform package for spawning processes in Swift.](https://github.com/swiftlang/swift-subprocess)
+
+[@Barney](https://github.com/BarneyZhaoooo):`Swift Subprocess` 是 Apple 官方提供的一个用于在 `Swift` 中执行外部进程的现代化库。它提供了类型安全、结构化并发的 `API` 来启动和管理子进程,支持灵活的输入输出重定向、环境变量配置和进程控制。相比传统的 `Process/NSTask API`,它采用了 `Swift` 并发模型,让异步执行和错误处理更加优雅。该库是 `Swift` 生态系统中处理外部命令执行的标准解决方案。
+
+### 🐎 [Define the scroll edge effect style of a scroll view for Liquid Glass](https://www.createwithswift.com/define-the-scroll-edge-effect-style-of-a-scroll-view-for-liquid-glass/)
+
+[@AidenRao](https://weibo.com/AidenRao):在 OS 26 的液态玻璃适配中,需要借助 OS 26 中引入的 [`scrollEdgeEffectStyle(_:for:)`](https://developer.apple.com/documentation/swiftui/view/scrolledgeeffectstyle\(_:for:\)) 方法,去控制滚动视图在边缘区域的样式,尤其是在与安全区域或系统 UI(如标签栏)重叠部分的视觉体验。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#348-2025.08.25.md b/Reports/2025/#348-2025.08.25.md
new file mode 100644
index 000000000..287a4bbce
--- /dev/null
+++ b/Reports/2025/#348-2025.08.25.md
@@ -0,0 +1,81 @@
+# 老司机 iOS 周报 #348 | 2025-08-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🐎 [High Level Anatomy of a Camera Capturing Session](https://mfaani.com/posts/ios/swiftui-camera-learnings/)
+
+[@AidenRao](https://weibo.com/AidenRao):这边文章用比较简单易懂的话,介绍苹果的相机从拍摄到 Swift 中展示的完整流程。文章不长,比较适合做个相机原理了解。
+
+## 文章
+
+### 🌟 🐕 [从 DisplayList 到 Transaction: SwiftUI 调试实战](https://kyleye.top/posts/swiftui-debug-analysis)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 文章介绍了如何通过 SwiftUI 中的相关环境变量,使用 DisplayList 输出分析视图渲染问题,通过符号断点和汇编调试深入分析 SwiftUI 内部机制,并使用 AttributeGraph 等调试工具进行问题定位。
+
+### 🐕 [Faster Equatable and Hashable conformances with Identifiable](https://erkek.in/faster-equatable-and-hashable-conformances-with-identifiable)
+
+[@Smallfly](https://github.com/iostalks):这篇文章聚焦 Swift 中 `Equatable` 与 `Hashable` 协议的性能优化,揭示了编译器自动合成实现的潜在瓶颈,并提出结合 `Identifiable` 协议的改进方案。核心内容包括:
+
+- 问题分析:默认合成的 `Equatable`/`Hashable` 会逐成员比较或哈希,对含大集合(如 `[User]`)或嵌套结构的类型,复杂度达 O(N),在 SwiftUI 视图更新、`Set` 操作中易成性能瓶颈。
+- 优化方案:利用 `Identifiable` 的 `id` 属性(如 `UUID`),仅基于唯一标识实现 `Equatable` 和 `Hashable`,将操作复杂度降至 O(1)。
+- 数据验证:基准测试显示,含 1000+ 员工的 `Company` 类型,`Identifiable` 方案的 `Equatable` 快 3 倍,`Hashable` 快 3 万倍。
+
+文章结合编译器源码与 SwiftUI 实践,为性能敏感场景提供了可落地的优化思路。
+
+### 🐢 [What's New in UIKit](https://sebvidal.com/blog/whats-new-in-uikit-26/)
+
+[@Barney](https://github.com/BarneyZhaoooo):这篇文章详细总结了 iOS 26 中 UIKit 的全面更新。尽管 UIKit 不再是 WWDC 的主角,但今年仍获得了大量新特性。
+主要更新概况:
+ • `Liquid Glass` 设计语言:新增 `UIGlassEffect`、`UIButton.Configuration` 的玻璃按钮样式,以及 UIBarButtonItem 的共享背景支持
+ • 导航栏增强:`UINavigationItem` 新增 `subtitle`、`largeTitle`、`attributedTitle` 等属性,支持更丰富的标题展示
+ • 分割视图改进:`UISplitViewController` 支持新的 `inspector` 列,提供类似 `macOS` 的检查器面板
+ • 标签栏配件:`UITabAccessory` 允许在标签栏上方添加浮动工具栏,支持折叠展开动画
+ • HDR 色彩支持:`UIColor` 新增 HDR 初始化方法,`UIColorPickerViewController` 支持曝光调节
+ • 角落配置 API:`UICornerConfiguration` 提供统一的圆角设置方案,支持容器同心圆角
+ • 自然文本选择:`UITextView` 支持混合左右文字的自然选择,`selectedRanges` 替代 selectedRange
+ • 主菜单系统:`UIMainMenuSystem` 为 `iPadOS` 提供 `macOS` 风格的菜单栏
+ • 观察者模式集成:`UIView` 和 `UIViewController` 原生支持 `Swift Observation` 框架
+ • 滑块增强:`UISlider` 新增刻度配置和无拖柄样式
+整体而言,iOS 26 的 `UIKit` 更新聚焦于视觉现代化、跨平台一致性和开发便利性的提升。
+
+### 🐕 [SwiftUI for Mac 2025](https://troz.net/post/2025/swiftui-mac-2025/)
+
+[@Cooper Chen](https://github.com/cjlcooper):这篇文章总结了 SwiftUI 在 macOS 26 上的多项改进,主要亮点包括:
+
+- **统一图标格式**:Xcode 26 新增 Icon Composer,可用 SVG 分层生成跨平台图标,并向下兼容旧系统。
+- **Liquid Glass 风格**:按钮、滑块、切换等控件拥有玻璃质感与动态反馈,UI 更现代。
+- **原生 WebView**:SwiftUI 首次内置 WebView,无需桥接即可加载网页并追踪导航事件。
+- **列表性能优化**:List 在处理上万条数据时依然流畅,适合大数据量展示。
+
+整体来看,SwiftUI 在 Mac 上的易用性与表现力进一步提升,对想要打造现代化界面的开发者非常有参考价值。
+
+### 🐎 [Git 2.51 support push/pull stash](https://github.blog/open-source/git/highlights-from-git-2-51/)
+
+[@david-clang](https://github.com/david-clang):过去 git stash 难以在不同机器之间迁移,Git 在 8 月 18 日发布的 2.51.0 版本支持 push/pull stash,实现跨机器共享 stash。但要在 GUI 工具上应用该特性,还要再等等,目前 Fork 支持的 Git 版本是 2.45.2。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#349-2025.09.01.md b/Reports/2025/#349-2025.09.01.md
new file mode 100644
index 000000000..3faf33e0e
--- /dev/null
+++ b/Reports/2025/#349-2025.09.01.md
@@ -0,0 +1,102 @@
+# 老司机 iOS 周报 #349 | 2025-09-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [Why I'm Not Using Xcode 26's AI Chat Integration (And What Could Change My Mind)](https://www.fline.dev/why-im-not-using-xcode-26s-ai-chat-integration-and-what-could-change-my-mind/)
+
+[@阿权](https://github.com/bqlin):文章者结合自身开发体验,分析了 Xcode 26 中 AI 集成的不足,并建议 Apple 补齐(作者也是恨铁不成钢啊!):
+
+1. 请求队列:AI 功能会阻塞输入,无法 “边等待边规划”,打断开发思路。
+2. 上下文工程支持:不支持输入上下文文档,需反复解释编码规则,难以调教。
+3. 构建验证能力:无法自行构建、读取错误日志,频繁依赖人工操作,打断开发节奏。
+4. Git 集成:无法搜索历史、对比版本、自动提交,无法利用代码历史辅助开发(如恢复旧代码、更新文档)。
+5. 终端与 CLI 访问:无法通过终端运行自定义的 CLI 工具,简化多任务工作流。
+6. 项目文件限制:无法打开多仓库文件夹,适配复杂项目结构的能力差。
+7. 网页搜索与文档访问:无法获取最新 API / 提案信息,需手动查找,降低信息获取效率。
+
+作者认为 Xcode AI 目前更像个 “功能展示”(有但难用),而非真正的生产力工具,核心问题是未围绕 “ AI 驱动开发” 的工作流设计(如频繁的人工干预、缺少自动化能力)。
+
+为此,作者也是放弃了 Xcode 转向了 Cursor + Claude Code。
+
+### 🐎 [Working with partially generated content in Xcode previews](https://www.artemnovichkov.com/blog/working-with-partially-generated-content-in-xcode-previews)
+
+[@DylanYang](https://github.com/Dylan19Yang):iOS 26 有了新的 Foundation Models 框架支持开发者通过系统端侧的模型来生成一些数据,本文作者在此之上探索了如何让 Xcode Preview 功能和这些端生成的数据结构进行交互预览。预览 SwiftUI 的静态布局的话我们可以通过代码构造对应的数据结构来 mock 一个实现,此外也可以通过 json 的方式构造一个 GeneratedContent 作为端生成数据结构的初始化参数。如果需要验证流式输出对于 UI 布局的影响,则可以借助 AsyncThrowingStream 来模拟模型生成的场景。
+
+### 🐢 [From GPT-2 to gpt-oss: Analyzing the Architectural Advances And How They Stack Up Against Qwen3](https://sebastianraschka.com/blog/2025/from-gpt-2-to-gpt-oss.html)
+
+[@阿权](https://github.com/bqlin):本文围绕 OpenAI 新发布的开放权重模型 gpt-oss(20B/120B)展开,对比了从 GPT-2 的架构演进,并与 Qwen3 的特性进行对比,最后总结其实用价值和局限。内容可概括为:
+
+从 GPT-2 到 gpt-oss 的架构演进:
+
+| 演进点 | 旧设计(GPT-2) | 新设计(gpt-oss) | 收益 |
+| :----------- | :---------------- | :-------------------------- | :--------------------------------- |
+| 正则化 | Dropout | 无 Dropout | 单轮训练场景无过拟合风险,提升效率 |
+| 位置编码 | 绝对位置编码 | RoPE(旋转位置编码) | 支持更长上下文,减少参数 |
+| 激活函数 | GELU + 2 层前馈 | SwiGLU + 3 层门控前馈 | 降低计算成本,增强表达能力 |
+| 前馈模块 | 单前馈模块 | MoE(混合专家模型) | 平衡模型容量与推理效率 |
+| 注意力机制 | MHA(多头注意力) | GQA(分组查询注意力) | 减少显存与计算开销 |
+| 长上下文优化 | 无 | 滑动窗口注意力(128 token) | 进一步降低长文本推理成本 |
+| 归一化层 | LayerNorm | RMSNorm | 简化计算,提升 GPU 训练效率 |
+| 推理控制 | 无 | 推理强度可调(低 / 中 / 高) | 平衡成本与准确率 |
+
+gpt-oss 与 Qwen3 模型差异较小,在一些特性上各有千秋:
+
+| 维度 | gpt-oss-20B | Qwen3 30B-A3B |
+| :----------- | :----------------------------------------------------------- | :--------------------------------------------------- |
+| 架构权衡 | 更宽(嵌入维度 2880)、少量大型专家(32 个) | 更深(48 个 Transformer 块)、大量小型专家(128 个) |
+| 长上下文处理 | 滑动窗口(13.1 万 token),但设计了 Attention Bias、Attention Sinks | 纯 GQA 支持更长上下文(26.2 万 token) |
+
+实用价值与局限:
+
+- 优势:MXFP4 优化适配单 GPU(20B 需 16GB 显存,120B 需 80GB 显存),推理强度可调,性能接近闭源模型;
+- 局限:幻觉率较高,无训练代码 / 数据集(仅开源权重与推理代码),未提供基础模型;
+- 未来潜力:随着工具集成成熟,可通过调用外部资源(如搜索引擎)弥补知识遗忘,进一步释放推理能力。
+
+总体而言,gpt-oss 的发布丰富了开源 LLM 生态,为需要本地部署、高推理能力的场景提供了新选择,也为研究 Transformer 架构演进提供了重要参考。
+
+注意:尽管 gpt-oss 名称中,oss 为 Open-source Software,但官方明确它只是开放权重(Open-weight)模型,仅提供模型权重与推理代码,而非完全开源。
+
+### 🐕 [GPT-5 Thinking System Prompts Leak](https://github.com/asgeirtj/system_prompts_leaks/blob/main/OpenAI/gpt-5-thinking.md)
+
+[@Barney](https://github.com/BarneyZhaoooo):这份提示词让我们看到 GPT-5 Thinking 模型的内部运作机制。核心内容包括:
+ • **知识边界**:模型知识截止 2024 年 6 月,当前时间设定为 2025 年 8 月,具备 Web 搜索、Python 分析、图像生成等多种工具集成能力
+ • **交互规范**:采用三通道架构(analysis、commentary、final),支持富文本 UI 组件(图片轮播、产品卡片、图表),强制要求立即完成任务不可推诿
+ • **安全机制**:严格的事实核查要求(需引用来源),时效性信息强制网络验证,设有 1-10 级详细度控制参数
+为理解大语言模型的提示工程和安全设计提供了珍贵的第一手资料,对 AI 应用开发者极具参考价值。
+
+### 🐕 [Corner concentricity in SwiftUI on iOS 26](https://nilcoalescing.com/blog/ConcentricRectangleInSwiftUI/)
+
+[@AidenRao](https://weibo.com/AidenRao):iOS 26 的同心圆角(Corner Concentricity)是苹果在 WWDC 2025 上强调的一项重要设计理念和视觉特性。同心圆角的核心思想是让嵌套的 UI 元素具有和谐一致的圆角,即使它们的大小或层级不同,其圆角的视觉“圆心”也尽可能保持一致,从而营造出统一、精致且富有纵深感的界面效果。
+
+SwiftUI 引入了 `ConcentricRectangle` 这个新的 API,帮助开发者更高效地在复杂布局中实现完美的同心圆角效果,让界面设计更加统一与精致。
+
+### 🐕 [MNN LLM Chat iOS 流式输出优化实践](https://mp.weixin.qq.com/s/m5J5nLZiPd_yB0y-byyjCg)
+
+[@JonyFang](https://github.com/JonyFang): 本文针对 iOS 应用中部署大语言模型(LLM)时出现的文字流式输出卡顿问题,提出了一套高效的三层优化方案:通过智能流缓冲解决模型输出与 UI 更新的频率不匹配,利用 UI 更新批处理与节流降低主线程压力,并借助打字机动画渲染增强视觉流畅性。这一方案提升了本地 LLM 应用的交互体验,适合开发高性能 AI 聊天应用的团队参考实践。其开源实现:[MNN GitHub 项目 - https://github.com/alibaba/MNN](https://github.com/alibaba/MNN)。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#350-2025.09.08.md b/Reports/2025/#350-2025.09.08.md
new file mode 100644
index 000000000..d4ce4c90b
--- /dev/null
+++ b/Reports/2025/#350-2025.09.08.md
@@ -0,0 +1,84 @@
+# 老司机 iOS 周报 #350 | 2025-09-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [What's New in the Lambda V2 Runtime (Beta)](https://swifttoolkit.dev/posts/lambda-v2)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): Lambda V2 Runtime 是 AWS Lambda Swift 运行时的重大升级,核心改进是使用 Swift 结构化并发重写了内部实现。新版本引入了更灵活的执行模型,开发者可以控制 `main` 函数入口,支持后台执行(`LambdaWithBackgroundProcessingHandler`)和流式响应(`StreamingLambdaHandler`)等高级特性。同时提供了统一的服务生命周期管理机制,让 Lambda 函数能够优雅地处理初始化和清理工作。对于需要在 AWS Lambda 上运行 Swift 代码的开发者来说,V2 运行时带来了更强大的控制能力和更好的性能表现,值得关注并适时迁移。
+
+### 🐎 [Flutter 小技巧之有趣的 UI 骨架屏框架 skeletonizer](https://mp.weixin.qq.com/s/ceDt69ue5aV4wGwaGIKmAQ)
+
+[@Crazy](https://github.com/jiyan135960):骨架图是 app 中经常用来等待网络加载的一种方式,这种方式可以更友好的让用户知道 app 的状态。Skeletonizer 可以让使用者快速的完成骨架图的功能开发,只需把布局包裹在 Skeletonizer 外层,开启 enabled: true 即可得到骨架屏动画。简单来说 skeletonizer 就是通过自定义 PaintingContext 拦截处理 child 的渲染,让原 UI 直接转化为骨架,而不是手写一份骨架版 UI。还可以通过配置来实现更精细的控制骨架化逻辑,比如跳过、合并等。但是越复杂的界面实现起来也就越困难,很多时候需要自己来实现骨架图。这篇文章主要是给大家一个思路,这种实现方案不仅可以用于骨架图,也可以用来其他的功能开发。
+
+### 🐕 [果味儿幽灵 -- Xcode 新 AI 助手深度解析](https://mp.weixin.qq.com/s/TzM7MpYCSDrkUuT9eiSFrw)
+[@Smallfly](https://github.com/iostalks):这篇文章深度拆解了 Xcode 26 全新 AI 助手的技术内核,从源码到行为策略揭示其「苹果味儿」的设计逻辑。核心内容包括:
+
+- **架构设计**:采用 Planner-Executor 模型,planner 负责意图分类与方案规划,executor 调用 `edit_file` 等工具执行代码修改,确保行为确定性。
+- **策略驱动**:通过外部 `.idechatprompttemplate` 文件定义「苹果优先」规则,强制使用 Swift Concurrency、Swift Testing 等技术,甚至要求回答「苹果新特性」前必须调用 `search_additional_documentation` 检索内部文档。
+- **扩展潜力**:prompts 外置、工具动态加载的设计,为开发者定制助手提供可能——修改文本模板或注入自定义工具即可调整其「灵魂」。
+- **对比价值**:与 Cursor、Claude Code 等工具对比,突出 Xcode AI 在 IDE 深度集成、企业合规上的优势。
+
+文章结合框架源码与实践案例,为开发者理解这一「执拗」助手的行为逻辑,甚至是二次定制提供了关键视角。
+
+### 🐎 [iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持](https://mp.weixin.qq.com/s/cYKke432bBzpg365Ia9y7Q)
+
+[@david-clang](https://github.com/david-clang):Apple 在 iOS 26 中禁止 Debug 时 `mprotect` 的 `RX` 权限,将导致真机无法在 Debug Mode 编译成功的[错误](https://github.com/flutter/flutter/issues/163984),Flutter 之前采取的 hack 方案会导致容易出现 `Timed out *** to update` 错误,现在的[方案](https://github.com/flutter/flutter/pull/173443/)是在 iOS 17+ 和 Xcode 26+ 上利用 `devicectl` 和 `lldb` 突破 `RX` 权限限制, 完成了全新 LLDB 调试的适配迁移。
+
+### 🐎 [What makes Claude Code so damn good (and how to recreate that magic in your agent)!?](https://minusx.ai/blog/decoding-claude-code/)
+
+[@zhangferry](zhangferry.com):在编程领域为什么总感觉 Claude Code 比其他 Agent 要强不少?除了模型本身的差异,更重要的是对 Agent 的设计逻辑上,本文罗列了几点值得借鉴的 Agent 设计原则。
+
+1. 控制逻辑设计
+
+* 只保留一个主循环,最多增加一个处理分支。过多分支路径下既容易出错,还不容易调试
+* 一些简单工作比如读文件、总结记录等交给小模型处理
+
+2. Prompts 设计
+
+* 要有一个整体的配置文件(类似 claude.md)以记录用户偏好,比如跳过某些文件夹,使用特定的库。来自 MinusX 的实践,在 AI 首次遇到一些不了解的专有名词时,会自动提醒要不要补充信息到该配置文件。
+* 一些标记或者示例,可以使用 XML 标签或者 Markdown 语法,以强化提醒
+
+3. Tools 设计
+
+* 在内容搜索时使用 jq、find 这类轻量工具而不是 RAG 这种重工具
+* 给工具分类,低级工具(bash 命令、读文件)、中级工具(grep、glob)、高级工具(网页搜索等 MCP),每个工具都注明其适用场景
+* 让 AI 自己管理 todo list。长任务里,AI 容易忘事,就让它自己写待办、随时看,还能中途改,避免做到一半 “跑偏”
+
+4. 可控性设计
+
+* 语气和风格限制,使得 AI 回答更简洁
+* 对于重要的规则,使用这些关键字 `IMPORTANT`,`NEVER` 会很有效
+* 「什么时候该做什么,不该做什么」不易过多,因为他们容易冲突,处理逻辑的关键步骤需补充一些启发式的方法和处理策略
+
+## 代码
+
+### [awesome-nano-banana](https://github.com/JimmyLv/awesome-nano-banana) 和 [awesome-gpt4o-images](https://github.com/jamez-bondos/awesome-gpt4o-images)
+
+[@EyreFree](https://github.com/EyreFree):当下 AI 生图技术发展迅猛,Nano Banana 和 GPT-4o 备受关注。Nano Banana 基于谷歌 Gemini 2.5 Flash Image 架构,解决了角色一致性等难题,能深度理解物理逻辑,支持对话式编辑,在商业、营销及个人创作等领域应用广泛。GPT-4o 是 OpenAI 的多模态大模型,风格多样,构图真实,便于再编辑且响应迅速,常用于广告、艺术、设计等场景。相关的 [JimmyLv/awesome-nano-banana](https://github.com/JimmyLv/awesome-nano-banana) 和 [jamez-bondos/awesome-gpt4o-images](https://github.com/jamez-bondos/awesome-gpt4o-images) 仓库,收集了大量图像案例与提示词,为探索 AI 生图技术提供了丰富资源。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#351-2025.09.15.md b/Reports/2025/#351-2025.09.15.md
new file mode 100644
index 000000000..2201c1934
--- /dev/null
+++ b/Reports/2025/#351-2025.09.15.md
@@ -0,0 +1,56 @@
+# 老司机 iOS 周报 #351 | 2025-09-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Memory Integrity Enforcement: A complete vision for memory safety in Apple devices](https://security.apple.com/blog/memory-integrity-enforcement/)
+
+[@Damien](https://github.com/ZengyiMa):本文章是 Apple 推出的 Memory Integrity Enforcement(MIE)技术,结合自研芯片与系统级安全机制,为 iPhone 17 系列提供业界首个全时开启的内存安全保护,无需用户感知即可防御缓冲区溢出、释放后使用等漏洞。该功能基于增强版 Arm 内存标记扩展(EMTE),配合安全内存分配器与标签保密技术,显著增加间谍软件等高级攻击的开发成本,Apple 称之为“消费级操作系统内存安全史上最大升级”。
+
+## 文章
+
+### 🐎 [SwiftUI WebView](https://troz.net/post/2025/swiftui-webview/)
+
+[@DylanYang](https://github.com/Dylan19Yang):作者向我们介绍了 Swift UI 中新引入的 WebView 组件。它有非常简单的初始化方式,同时也兼具了很多我们在使用 WKWebview 时经常会用到的功能,如页面加载各个时机的回调、自定义的 scheme handler、js 注入等。作者提供了一个完善的 demo 来展示这些能力。感兴趣的读者可以阅读下本文。
+
+### 🐎 [Debugging Swift Concurrency: “ Am I on the Main Actor? ”](https://www.swiftyplace.com/blog/debugging-swift-concurrency)
+
+[@JonyFang](https://github.com/JonyFang): Swift Concurrency 调试推荐做思维上的转变:从线程思维转向 Actor 思维,关注"我在哪个 Actor 上"而非"我在哪个线程上"。文中描述了 `MainActor.assertIsolated()` 和 `MainActor.preconditionIsolated()` 在 Debug 和 Release 模式下的差异用法。整体在推荐拥抱 Swift 6 的并发安全模型,让 Actor 成为开发过程中思考并发的基础单元。
+
+### 🐎 [Building a design system at Genius Scan](https://www.swiftbysundell.com/articles/building-a-design-system-at-genius-scan/)
+
+[@david-clang](https://github.com/david-clang):文章详细介绍了如何利用 SwiftUI 的组合思想和环境机制,为应用构建灵活的设计系统。核心是通过创建可复用的基础组件(如 `Row`),并利用 `ViewBuilder` 和 `Environment` 实现样式配置与定制,从而高效解决 UI 一致性与代码复用问题。
+
+### 🐕 [Four Corners: the first game in Catalog written in Swift](https://news.play.date/news/four-corners-swift/)
+
+[@极速男孩](https://github.com/ztlyyznf001):Playdate 游戏《Four Corners》被开发者 Steven Chipman 用 Swift 重写,成为 Catalog 中首款 Swift 游戏。此举旨在探索 Swift 在 Playdate 上的性能潜力。Chipman 熟悉 Swift,选择重写此游戏是因为它相对简单且存在性能瓶颈。尽管遇到了缺少部分 API 和 Foundation 库的挑战,以及调试困难,但 PlaydateKit 库极大地简化了开发。Chipman 认为 Swift 的优势(如 C 级性能和易用性)胜过这些不便,并计划未来继续使用 Swift 开发 Playdate 游戏。他还因此重启了《Four Corners》的 iOS 版本。
+
+### 🐎 [Implementing a Refractive Glass Shader in Metal](https://medium.com/@victorbaro/implementing-a-refractive-glass-shader-in-metal-3f97974fbc24)
+
+[@BluesJiang](https://github.com/BluesJiang):这篇文章使用 Metal Shader 来自己尝试实现类似苹果 Liquid Glass 的效果,介绍了玻璃效果的各个组成部分,已经相关的算法。同时也演示了算法中的各个参数是如何影响最终的效果的。推荐有自定义液态玻璃效果的需求或者是想了解相关的实现方式的开发者阅读。
+
+## 内推
+
+重新开始更新「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)
diff --git a/Reports/2025/#352-2025.09.22.md b/Reports/2025/#352-2025.09.22.md
new file mode 100644
index 000000000..a81db50ea
--- /dev/null
+++ b/Reports/2025/#352-2025.09.22.md
@@ -0,0 +1,119 @@
+# 老司机 iOS 周报 #352 | 2025-09-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+> 行业相关的新闻、趣事、看法
+
+## Developer - 设计开发加速器
+
+> 设计开发加速器相关活动
+
+## 新手推荐
+
+> 收集一些对新手友好且质量不错的文章
+
+## 文章
+
+> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
+
+### 🌟 🐢 [KMP on iOS 深度工程化:模块化、并发编译与 98% 增量构建加速](https://mp.weixin.qq.com/s/wOnyjYcka99eFJz8BWlu4Q)
+
+[@JonyFang](https://github.com/): 本文主要介绍了 Bilibili KMP 在 iOS 工程化的一些深度改造,达成模块化、并发编译与 98% 增量构建加速的目标。主要通过对 Kotlin/Native 编译管线的深度拆解与重构,系统性地解决了其在模块化、编译并发和增量构建方面的核心瓶颈。
+
+**在构建系统与编译速度上** :实现了 `Parallel Compilation`,将每个 Kotlin 模块独立编译为 `.a` 文件,在一些日常的底层修改的场景下最终产物编译耗时降低 98% 。这充分释放了 Bazel 的高并发优势,结合可靠的 `remote cache` 机制达到 Never clean build 的预期。
+
+**在编码与跨语言交互上**:摆脱了 KMP 默认的“大一统”框架模式。通过为每个 Kotlin 模块生成独立的 `Clang module` ,并以 `@ObjCExport` 注解精确控制导出,实现了真正的模块化。
+
+**在调试与工程化上**:通过修复 `source-map` 路径和实现可靠的 `implementation_deps` ,保证了跨语言调试的稳定性和构建的确定性,解决了社区方案中的常见痛点。
+
+也推荐几篇前几期的相关阅读:
+- [探讨跨平台技术与跨平台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)
+- [工程化视角的 Kotlin Multiplatform核心解读及优化](https://mp.weixin.qq.com/s?__biz=Mzg3Njc0NTgwMg%3D%3D&mid=2247499744&idx=1&sn=f3c7bff956a066c30b70b5be1236a308&scene=21&poc_token=HNFTz2ij1E8hZViL6RNPunbfKHVS25LeC66WMyXt)
+- [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)
+
+
+### 🐎 [Automating Github Action Workflows For Swift](https://elegantchaos.com/2025/08/28/action-builder.html)
+
+[@Damien](https://github.com/ZengyiMa):作者重启搁置的 ActionBuilder 项目,通过扫描 Package.swift 实现零配置生成 GitHub Actions tests.yml,借 Swiftly 自动识别 Swift 版本并调度 Linux/macOS runner,对 iOS 等 Apple 平台则调用 Xcode 构建且已适配 Swift 6.0-6.2,未来将以轻量 CLI 取代插件,可直接嵌入 Xcode build phase 随编译自动更新工作流。
+
+### 🐕 [认知负荷才是关键](https://github.com/zakirullin/cognitive-load/blob/main/README.zh-cn.md)
+
+[@zhangferry](zhangferry.com):编程领域有很多指导性的理论知识,但这些业界的实践,为什么并非总是有效呢?基于这个问题本文引出认知负荷这个概念:认知负荷是指开发者为了完成一项任务需要动多少脑子。从人的视角出发,以是否便于理解来衡量代码好坏,并给出了以下 4 个降低认知负荷的原则:
+
+* 模块设计:不应一味的强调小方法,小模块,这会导致过多的接口和代码关联,增加认知负荷。深方法,深模块,一定程度把复杂度限定在特定范围,整体维护成本更低。
+
+* 架构选择:不应为体现技术水平采用过于复杂的架构,易懂、易理解的架构才更合适。文中还建议在架构评审时可以让初级开发者参与,以识别过于复杂的设计。
+
+* 抽象和代码组织:不应过于追求 DRY(不要重复自己),而大量使用设计模式,微服务等,少量的重复比不必要的依赖更好。
+
+* 心智模型:传统推崇的心智模型(领域驱动设计 DDD)有其优势,但副作用是会引入很多主观理解,这个基础之上开发的代码往往会有更高的认知负荷。好的代码应该便于理解,而不是追求优雅和复杂。
+
+延伸的几种观念,可能只看名称你就能知道个大概了:「可能是时候停止推荐《代码整洁之道》」、「小型函数的弊端」、「为什么我讨厌“框架”」、「设计牺牲」
+
+### 🐢 [阿权的开发经验小集](https://juejin.cn/post/7550466215790886927)
+
+[@阿权](https://github.com/bqlin):阿权的日常开发小集,记录了日常开发中踩过的大小坑,内容主要涵盖 Git、iOS、Swift、Xcode 等方面问题的总结。按需搜索,说不定有意外的惊喜。
+
+### [marioaguzman Design Guidelines layout](https://marioaguzman.github.io/design/layoutguidelines/) [marioaguzman Design Guidelines toolbar ](https://marioaguzman.github.io/design/toolbarguidelines/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这两篇文章系统阐述了 macOS 应用在窗口布局和工具栏设计上的核心规范与实践原则:在窗口布局上,需要遵循中心均衡、对齐、留白和视觉平衡的原则,合理安排常规、小型和迷你控件的位置与间距,并通过空白、分隔线或分组框组织控件,确保界面简洁一致;在工具栏设计上,应基于用户的心智模型挑选并排序常用功能,合理区分全局与界面项,正确处理侧边栏和检查器的切换,注意标题、副标题、溢出优先级与居中项的使用,同时结合不同样式(统一、紧凑、扩展、偏好)以及底部栏、附加栏和系统内置特殊控件,实现美观、直观且高效的用户体验。
+
+### 🐢 [iOS Rendering Documentation](https://github.com/EthanArbuckle/ios-rendering-docs/blob/main/README.md)
+
+[@Kyle-Ye](https://github.com/Kyle-Ye): 这份文档深入剖析了 iOS 渲染系统的底层架构,详细阐述了从 UIView 到 CALayer、CAContext 再到 FBSScene 的完整渲染管道。文档特别解释了 Front Board Scene (FBS) 的工作机制以及 CAContext 的 contextID 如何用于跨进程 IPC 通信。内容涵盖了层级合成模型、场景管理、渲染同步、动画协调等核心概念,为理解 iOS 图形系统提供了前所未有的技术深度。对于需要进行系统级渲染研究、性能优化或底层拦截开发的高级 iOS 开发者来说,这是一份极其宝贵的参考资料。
+
+### 🐕 [iOS26 Runtime Changes:Concurrent mutation of nonatomic properties](https://github.com/SwiftOldDriver/iOS-Weekly/issues/5148)
+
+对于 NSObject 的 property 是 nonatomic 的对象类型时,多线程的 set/get 会存在线程安全问题(非对象一样存在问题,只是不会崩溃),一个简单的修改方案是改为 atomic,注意这个只对一般对象有效。如果是 NSMutableDictionary 等容器对象,还需要考虑对其容器内内容的修改也要注意线程安全,一般得加锁解决;更极端需要多个属性同时保持同步则也得加锁。问题不仅在 property 中存在,全局变量也一样存在问题。具体可以参考我们推荐过的 [头条稳定性治理:ARC 环境中对 Objective-C 对象赋值的 Crash 隐患](https://mp.weixin.qq.com/s/chR42Vq4kACIEJBDYlbddg) 。
+
+在 iOS 26 以前,一般概率发生的崩溃崩溃的栈顶也在 objc_retain/objc_release 中;在 iOS 26 及之后,则如果发生这种线程安全问题,栈顶函数不变的情况下,会有明确的 EXC_BAD_ACCESS(KERN_INVALID_ADDRESS) 地址为 0x400000000000bad0 让这种情况更容易被辨识。
+
+当然这也会带来一定的副作用,由于实现方式是通过 objc_storeStrong 方法中插入汇编,实现在调用 objc_retain 前,将 0x400000000000bad0 写入 x1 ,再正常调用 objc_retain 方法(正常 objc_retain 只接收一个参数,因此只需要 x0 即可)。因此原本偶现的问题,概率是会被放大的(以前即使有问题,但也有概率不崩溃),因此 iOS 26 的崩溃率对大部分应用来说会上升。稳定性同学要面临年末指标上涨的压力了,毕竟 iOS 26 的覆盖率会快速提升。
+
+但从更长的视角来看,在 iOS 26 暴露了更多问题后,开发者修复后,后续的新版本对低 OS 的用户也带来体验的提升,所以总体我还是偏正常得看待这个 feature 的,等于苹果开启了对一类问题的线上 TSan ,并且对性能的影响微乎其微。短期的阵痛后带来的是更长期的体验提升。美中不足的就是如果这项 feature 能像 malloc 的一些开关(malloc stack logging 等),能让开发者自主控制按一定比例开启就更好了,能有更多时间修复以及控制对升级到 iOS 26 用户的影响。
+
+
+> 更具体的一些细节可以看链接。
+
+## 工具
+
+> 开发过程中常用的工具,及一些新工具的介绍
+
+## 代码
+
+> 库,代码段,开源app
+
+## 书
+
+> 比较不错的书的推荐和书评
+
+## 音视频
+
+> 比较不错的书的推荐和书评
+
+## 内推
+
+重新开始更新「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)
diff --git a/assets/author/BluesJiang.jpeg b/assets/author/BluesJiang.jpeg
new file mode 100644
index 000000000..012eba5e5
Binary files /dev/null and b/assets/author/BluesJiang.jpeg differ
diff --git a/assets/author/David.png b/assets/author/David.png
new file mode 100644
index 000000000..408f2bd8b
Binary files /dev/null and b/assets/author/David.png differ
diff --git a/assets/author/DylanYang.png b/assets/author/DylanYang.png
new file mode 100644
index 000000000..09015f813
Binary files /dev/null and b/assets/author/DylanYang.png differ
diff --git a/assets/author/Kyle-Ye.png b/assets/author/Kyle-Ye.png
new file mode 100644
index 000000000..4db60d13a
Binary files /dev/null and b/assets/author/Kyle-Ye.png differ
diff --git a/assets/author/bq.png b/assets/author/bq.png
new file mode 100644
index 000000000..253524785
Binary files /dev/null and b/assets/author/bq.png differ
diff --git a/assets/weekly-header/262.png b/assets/weekly-header/262.png
new file mode 100644
index 000000000..6be9e8b00
Binary files /dev/null and b/assets/weekly-header/262.png differ
diff --git a/assets/weekly-header/263.png b/assets/weekly-header/263.png
new file mode 100644
index 000000000..e78b1a665
Binary files /dev/null and b/assets/weekly-header/263.png differ
diff --git a/assets/weekly-header/264.png b/assets/weekly-header/264.png
new file mode 100644
index 000000000..15d4e6473
Binary files /dev/null and b/assets/weekly-header/264.png differ
diff --git a/assets/weekly-header/265.png b/assets/weekly-header/265.png
new file mode 100644
index 000000000..0b0443b1a
Binary files /dev/null and b/assets/weekly-header/265.png differ
diff --git a/assets/weekly-header/266.jpg b/assets/weekly-header/266.jpg
new file mode 100644
index 000000000..3084daa51
Binary files /dev/null and b/assets/weekly-header/266.jpg differ
diff --git a/assets/weekly-header/267.jpg b/assets/weekly-header/267.jpg
new file mode 100644
index 000000000..93f41d359
Binary files /dev/null and b/assets/weekly-header/267.jpg differ
diff --git a/assets/weekly-header/268.jpg b/assets/weekly-header/268.jpg
new file mode 100644
index 000000000..1439055d3
Binary files /dev/null and b/assets/weekly-header/268.jpg differ
diff --git a/assets/weekly-header/269.jpg b/assets/weekly-header/269.jpg
new file mode 100644
index 000000000..82457ca36
Binary files /dev/null and b/assets/weekly-header/269.jpg differ
diff --git a/assets/weekly-header/270.jpg b/assets/weekly-header/270.jpg
new file mode 100644
index 000000000..d28fa2f1f
Binary files /dev/null and b/assets/weekly-header/270.jpg differ
diff --git a/assets/weekly-header/271.jpg b/assets/weekly-header/271.jpg
new file mode 100644
index 000000000..ffa28e54b
Binary files /dev/null and b/assets/weekly-header/271.jpg differ
diff --git a/assets/weekly-header/272.jpg b/assets/weekly-header/272.jpg
new file mode 100644
index 000000000..f5e85d481
Binary files /dev/null and b/assets/weekly-header/272.jpg differ
diff --git a/assets/weekly-header/273.jpg b/assets/weekly-header/273.jpg
new file mode 100644
index 000000000..239928c04
Binary files /dev/null and b/assets/weekly-header/273.jpg differ
diff --git a/assets/weekly-header/274.jpg b/assets/weekly-header/274.jpg
new file mode 100644
index 000000000..7cf72d4ec
Binary files /dev/null and b/assets/weekly-header/274.jpg differ
diff --git a/assets/weekly-header/275.jpg b/assets/weekly-header/275.jpg
new file mode 100644
index 000000000..94db58835
Binary files /dev/null and b/assets/weekly-header/275.jpg differ
diff --git a/assets/weekly-header/276.jpg b/assets/weekly-header/276.jpg
new file mode 100644
index 000000000..d6da4c89a
Binary files /dev/null and b/assets/weekly-header/276.jpg differ
diff --git a/assets/weekly-header/277.jpg b/assets/weekly-header/277.jpg
new file mode 100644
index 000000000..ef7e00f00
Binary files /dev/null and b/assets/weekly-header/277.jpg differ
diff --git a/assets/weekly-header/278.jpg b/assets/weekly-header/278.jpg
new file mode 100644
index 000000000..690816b76
Binary files /dev/null and b/assets/weekly-header/278.jpg differ
diff --git a/assets/weekly-header/279.jpg b/assets/weekly-header/279.jpg
new file mode 100644
index 000000000..6186d672a
Binary files /dev/null and b/assets/weekly-header/279.jpg differ
diff --git a/assets/weekly-header/280.jpg b/assets/weekly-header/280.jpg
new file mode 100644
index 000000000..a1a4fc4ff
Binary files /dev/null and b/assets/weekly-header/280.jpg differ
diff --git a/assets/weekly-header/281.jpg b/assets/weekly-header/281.jpg
new file mode 100644
index 000000000..a7f090a07
Binary files /dev/null and b/assets/weekly-header/281.jpg differ
diff --git a/assets/weekly-header/282.jpg b/assets/weekly-header/282.jpg
new file mode 100644
index 000000000..f4e2c0f0e
Binary files /dev/null and b/assets/weekly-header/282.jpg differ
diff --git a/assets/weekly-header/283.jpg b/assets/weekly-header/283.jpg
new file mode 100644
index 000000000..b43dd535c
Binary files /dev/null and b/assets/weekly-header/283.jpg differ
diff --git a/assets/weekly-header/284.jpg b/assets/weekly-header/284.jpg
new file mode 100644
index 000000000..dc8f08a8a
Binary files /dev/null and b/assets/weekly-header/284.jpg differ
diff --git a/assets/weekly-header/285.jpg b/assets/weekly-header/285.jpg
new file mode 100644
index 000000000..ac7a61dba
Binary files /dev/null and b/assets/weekly-header/285.jpg differ
diff --git a/assets/weekly-header/286.jpg b/assets/weekly-header/286.jpg
new file mode 100644
index 000000000..2714a7784
Binary files /dev/null and b/assets/weekly-header/286.jpg differ
diff --git a/assets/weekly-header/287.jpg b/assets/weekly-header/287.jpg
new file mode 100644
index 000000000..f9a48647a
Binary files /dev/null and b/assets/weekly-header/287.jpg differ
diff --git a/assets/weekly-header/288.jpg b/assets/weekly-header/288.jpg
new file mode 100644
index 000000000..b41d47e1f
Binary files /dev/null and b/assets/weekly-header/288.jpg differ
diff --git a/assets/weekly-header/289.jpg b/assets/weekly-header/289.jpg
new file mode 100644
index 000000000..54b41fe11
Binary files /dev/null and b/assets/weekly-header/289.jpg differ
diff --git a/assets/weekly-header/290.jpg b/assets/weekly-header/290.jpg
new file mode 100644
index 000000000..18da7e552
Binary files /dev/null and b/assets/weekly-header/290.jpg differ
diff --git a/assets/weekly-header/291.jpg b/assets/weekly-header/291.jpg
new file mode 100644
index 000000000..567ed5f60
Binary files /dev/null and b/assets/weekly-header/291.jpg differ
diff --git a/assets/weekly-header/292.jpg b/assets/weekly-header/292.jpg
new file mode 100644
index 000000000..c8b71fff9
Binary files /dev/null and b/assets/weekly-header/292.jpg differ
diff --git a/assets/weekly-header/293.jpg b/assets/weekly-header/293.jpg
new file mode 100644
index 000000000..f570fefa4
Binary files /dev/null and b/assets/weekly-header/293.jpg differ
diff --git a/assets/weekly-header/294.jpg b/assets/weekly-header/294.jpg
new file mode 100644
index 000000000..174b5f3a3
Binary files /dev/null and b/assets/weekly-header/294.jpg differ
diff --git a/assets/weekly-header/295.jpg b/assets/weekly-header/295.jpg
new file mode 100644
index 000000000..b5db3f3f5
Binary files /dev/null and b/assets/weekly-header/295.jpg differ
diff --git a/assets/weekly-header/296.jpg b/assets/weekly-header/296.jpg
new file mode 100644
index 000000000..49c0a5b3a
Binary files /dev/null and b/assets/weekly-header/296.jpg differ
diff --git a/assets/weekly-header/297.jpg b/assets/weekly-header/297.jpg
new file mode 100644
index 000000000..285529ed3
Binary files /dev/null and b/assets/weekly-header/297.jpg differ
diff --git a/assets/weekly-header/298.jpg b/assets/weekly-header/298.jpg
new file mode 100644
index 000000000..2c18d08d1
Binary files /dev/null and b/assets/weekly-header/298.jpg differ
diff --git a/assets/weekly-header/299.jpg b/assets/weekly-header/299.jpg
new file mode 100644
index 000000000..aa08057e2
Binary files /dev/null and b/assets/weekly-header/299.jpg differ
diff --git a/assets/weekly-header/300.jpg b/assets/weekly-header/300.jpg
new file mode 100644
index 000000000..7fb5a3808
Binary files /dev/null and b/assets/weekly-header/300.jpg differ
diff --git a/assets/weekly-header/301.jpg b/assets/weekly-header/301.jpg
new file mode 100644
index 000000000..ed99022d2
Binary files /dev/null and b/assets/weekly-header/301.jpg differ
diff --git a/assets/weekly-header/302.jpg b/assets/weekly-header/302.jpg
new file mode 100644
index 000000000..cfef34d4c
Binary files /dev/null and b/assets/weekly-header/302.jpg differ
diff --git a/assets/weekly-header/303.jpg b/assets/weekly-header/303.jpg
new file mode 100644
index 000000000..ffd9fb972
Binary files /dev/null and b/assets/weekly-header/303.jpg differ
diff --git a/assets/weekly-header/304.jpg b/assets/weekly-header/304.jpg
new file mode 100644
index 000000000..028b52e6d
Binary files /dev/null and b/assets/weekly-header/304.jpg differ
diff --git a/assets/weekly-header/305.jpg b/assets/weekly-header/305.jpg
new file mode 100644
index 000000000..df0602e7c
Binary files /dev/null and b/assets/weekly-header/305.jpg differ
diff --git a/assets/weekly-header/306.jpg b/assets/weekly-header/306.jpg
new file mode 100644
index 000000000..e218bed09
Binary files /dev/null and b/assets/weekly-header/306.jpg differ
diff --git a/assets/weekly-header/307.jpg b/assets/weekly-header/307.jpg
new file mode 100644
index 000000000..4647ccbc4
Binary files /dev/null and b/assets/weekly-header/307.jpg differ
diff --git a/assets/weekly-header/308.jpg b/assets/weekly-header/308.jpg
new file mode 100644
index 000000000..59cdbd96e
Binary files /dev/null and b/assets/weekly-header/308.jpg differ
diff --git a/assets/weekly-header/309.jpg b/assets/weekly-header/309.jpg
new file mode 100644
index 000000000..5b31c9cb4
Binary files /dev/null and b/assets/weekly-header/309.jpg differ
diff --git a/assets/weekly-header/310.jpg b/assets/weekly-header/310.jpg
new file mode 100644
index 000000000..3e56eac59
Binary files /dev/null and b/assets/weekly-header/310.jpg differ
diff --git a/assets/weekly-header/311.jpg b/assets/weekly-header/311.jpg
new file mode 100644
index 000000000..c937879f2
Binary files /dev/null and b/assets/weekly-header/311.jpg differ
diff --git a/assets/weekly-header/312.jpg b/assets/weekly-header/312.jpg
new file mode 100644
index 000000000..b34761f55
Binary files /dev/null and b/assets/weekly-header/312.jpg differ
diff --git a/assets/weekly-header/313.jpg b/assets/weekly-header/313.jpg
new file mode 100644
index 000000000..b888efbdf
Binary files /dev/null and b/assets/weekly-header/313.jpg differ
diff --git a/assets/weekly-header/314.jpg b/assets/weekly-header/314.jpg
new file mode 100644
index 000000000..fb788ebb3
Binary files /dev/null and b/assets/weekly-header/314.jpg differ
diff --git a/assets/weekly-header/315.jpg b/assets/weekly-header/315.jpg
new file mode 100644
index 000000000..2f4e3b3df
Binary files /dev/null and b/assets/weekly-header/315.jpg differ
diff --git a/assets/weekly-header/316.jpg b/assets/weekly-header/316.jpg
new file mode 100644
index 000000000..d5b89b777
Binary files /dev/null and b/assets/weekly-header/316.jpg differ
diff --git a/assets/weekly-header/317.jpg b/assets/weekly-header/317.jpg
new file mode 100644
index 000000000..45fa6c559
Binary files /dev/null and b/assets/weekly-header/317.jpg differ
diff --git a/assets/weekly-header/318.jpg b/assets/weekly-header/318.jpg
new file mode 100644
index 000000000..ee4c5b4ae
Binary files /dev/null and b/assets/weekly-header/318.jpg differ
diff --git a/assets/weekly-header/319.jpg b/assets/weekly-header/319.jpg
new file mode 100644
index 000000000..e3c365859
Binary files /dev/null and b/assets/weekly-header/319.jpg differ
diff --git a/assets/weekly-header/320.jpg b/assets/weekly-header/320.jpg
new file mode 100644
index 000000000..809bef0d7
Binary files /dev/null and b/assets/weekly-header/320.jpg differ
diff --git a/assets/weekly-header/321.jpg b/assets/weekly-header/321.jpg
new file mode 100644
index 000000000..ed22f88b1
Binary files /dev/null and b/assets/weekly-header/321.jpg differ
diff --git a/assets/weekly-header/322.jpg b/assets/weekly-header/322.jpg
new file mode 100644
index 000000000..acd90bd2f
Binary files /dev/null and b/assets/weekly-header/322.jpg differ
diff --git a/assets/weekly-header/323.jpg b/assets/weekly-header/323.jpg
new file mode 100644
index 000000000..b81ccd013
Binary files /dev/null and b/assets/weekly-header/323.jpg differ
diff --git a/assets/weekly-header/324.jpg b/assets/weekly-header/324.jpg
new file mode 100644
index 000000000..44f617d25
Binary files /dev/null and b/assets/weekly-header/324.jpg differ
diff --git a/assets/weekly-header/325.jpg b/assets/weekly-header/325.jpg
new file mode 100644
index 000000000..93afdf2c4
Binary files /dev/null and b/assets/weekly-header/325.jpg differ
diff --git a/assets/weekly-header/326.jpg b/assets/weekly-header/326.jpg
new file mode 100644
index 000000000..732180aea
Binary files /dev/null and b/assets/weekly-header/326.jpg differ
diff --git a/assets/weekly-header/327.jpg b/assets/weekly-header/327.jpg
new file mode 100644
index 000000000..593fe8223
Binary files /dev/null and b/assets/weekly-header/327.jpg differ
diff --git a/assets/weekly-header/328.jpg b/assets/weekly-header/328.jpg
new file mode 100644
index 000000000..50ac028b5
Binary files /dev/null and b/assets/weekly-header/328.jpg differ
diff --git a/assets/weekly-header/329.jpg b/assets/weekly-header/329.jpg
new file mode 100644
index 000000000..8c2b6bc22
Binary files /dev/null and b/assets/weekly-header/329.jpg differ
diff --git a/assets/weekly-header/330.jpg b/assets/weekly-header/330.jpg
new file mode 100644
index 000000000..4474e7444
Binary files /dev/null and b/assets/weekly-header/330.jpg differ
diff --git a/assets/weekly-header/331.jpg b/assets/weekly-header/331.jpg
new file mode 100644
index 000000000..7fff179e4
Binary files /dev/null and b/assets/weekly-header/331.jpg differ
diff --git a/assets/weekly-header/332.jpg b/assets/weekly-header/332.jpg
new file mode 100644
index 000000000..b6ea59968
Binary files /dev/null and b/assets/weekly-header/332.jpg differ
diff --git a/assets/weekly-header/333.jpg b/assets/weekly-header/333.jpg
new file mode 100644
index 000000000..4b206a1d4
Binary files /dev/null and b/assets/weekly-header/333.jpg differ
diff --git a/assets/weekly-header/334.jpg b/assets/weekly-header/334.jpg
new file mode 100644
index 000000000..1e6ca69e1
Binary files /dev/null and b/assets/weekly-header/334.jpg differ
diff --git a/assets/weekly-header/335.jpg b/assets/weekly-header/335.jpg
new file mode 100644
index 000000000..86f00128a
Binary files /dev/null and b/assets/weekly-header/335.jpg differ
diff --git a/assets/weekly-header/336.jpg b/assets/weekly-header/336.jpg
new file mode 100644
index 000000000..c895b1d64
Binary files /dev/null and b/assets/weekly-header/336.jpg differ
diff --git a/assets/weekly-header/337.jpg b/assets/weekly-header/337.jpg
new file mode 100644
index 000000000..0be4a141f
Binary files /dev/null and b/assets/weekly-header/337.jpg differ
diff --git a/assets/weekly-header/338.jpg b/assets/weekly-header/338.jpg
new file mode 100644
index 000000000..bfc85bba4
Binary files /dev/null and b/assets/weekly-header/338.jpg differ
diff --git a/assets/weekly-header/339.jpg b/assets/weekly-header/339.jpg
new file mode 100644
index 000000000..9fe318572
Binary files /dev/null and b/assets/weekly-header/339.jpg differ
diff --git a/assets/weekly-header/340.jpg b/assets/weekly-header/340.jpg
new file mode 100644
index 000000000..ad8fb7b90
Binary files /dev/null and b/assets/weekly-header/340.jpg differ
diff --git a/assets/weekly-header/341.jpg b/assets/weekly-header/341.jpg
new file mode 100644
index 000000000..5e35e310f
Binary files /dev/null and b/assets/weekly-header/341.jpg differ
diff --git a/assets/weekly-header/342.jpg b/assets/weekly-header/342.jpg
new file mode 100644
index 000000000..c8eef5c08
Binary files /dev/null and b/assets/weekly-header/342.jpg differ
diff --git a/assets/weekly-header/343.jpg b/assets/weekly-header/343.jpg
new file mode 100644
index 000000000..cf5dd8792
Binary files /dev/null and b/assets/weekly-header/343.jpg differ
diff --git a/assets/weekly-header/344.jpg b/assets/weekly-header/344.jpg
new file mode 100644
index 000000000..5c166bd56
Binary files /dev/null and b/assets/weekly-header/344.jpg differ
diff --git a/assets/weekly-header/345.jpg b/assets/weekly-header/345.jpg
new file mode 100644
index 000000000..45cfc0965
Binary files /dev/null and b/assets/weekly-header/345.jpg differ
diff --git a/assets/weekly-header/346.jpg b/assets/weekly-header/346.jpg
new file mode 100644
index 000000000..98d0d140d
Binary files /dev/null and b/assets/weekly-header/346.jpg differ
diff --git a/assets/weekly-header/347.jpg b/assets/weekly-header/347.jpg
new file mode 100644
index 000000000..daac64e59
Binary files /dev/null and b/assets/weekly-header/347.jpg differ
diff --git a/assets/weekly-header/348.jpg b/assets/weekly-header/348.jpg
new file mode 100644
index 000000000..721b2bd4e
Binary files /dev/null and b/assets/weekly-header/348.jpg differ
diff --git a/assets/weekly-header/349.jpg b/assets/weekly-header/349.jpg
new file mode 100644
index 000000000..284ceb65d
Binary files /dev/null and b/assets/weekly-header/349.jpg differ
diff --git a/assets/weekly-header/350.jpg b/assets/weekly-header/350.jpg
new file mode 100644
index 000000000..f33e3c42b
Binary files /dev/null and b/assets/weekly-header/350.jpg differ
diff --git a/assets/weekly-header/351.jpg b/assets/weekly-header/351.jpg
new file mode 100644
index 000000000..52b95b9dd
Binary files /dev/null and b/assets/weekly-header/351.jpg differ
diff --git a/assets/weekly-header/352.jpg b/assets/weekly-header/352.jpg
new file mode 100644
index 000000000..0c9197d69
Binary files /dev/null and b/assets/weekly-header/352.jpg differ
diff --git a/assets/weekly-header/353.jpg b/assets/weekly-header/353.jpg
new file mode 100644
index 000000000..76f498d53
Binary files /dev/null and b/assets/weekly-header/353.jpg differ