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
new file mode 100644
index 000000000..60c129025
--- /dev/null
+++ b/Contributors/README.md
@@ -0,0 +1,281 @@
+## 老司机技术成员介绍
+
+### 没故事的卓同学 / lacklock
+
+
+
+老司机技术发起人。WWDC19 ~ 20 内参主要负责人。独立开发者(App:打工人小组件)。积极拥抱 SwiftUI。
+
+### Parsifal
+
+
+
+老司机技术二代目,新技术爱好者,微医移动技术负责人,看球不打球,虎扑十多年潜水党。
+
+### 老王 / Damonwong
+
+
+
+老司机技术三代目,WWDC20 ~ 22 内参主要负责人。目前就职于阿里巴巴,参与手机淘宝基础建设工作。对 iOS 新特性、Swift、编译等较感兴趣。除了工作和技术以外,也喜欢和朋友聊天,看电竞比赛(LPL)以及玩手机游戏(王者荣耀)。
+
+### 老黄 / ChengzhiHuang
+
+
+
+老司机技术成员,周报轮值主编。目前就职于字节跳动,参与西瓜视频质量与稳定性工作。对 OOM/Watchdog 较为了解并长期投入。月球厨师;Amphibian 与 打越钢太郎 的粉丝。
+
+### EF / EyreFree
+
+
+
+老司机周报编辑 / T 技术沙龙运营负责人 / 开源爱好者 / Sprout 技术负责人。
+
+### Cooper
+
+
+
+老司机技术成员,目前就职于 Zoom,参与 Zoom 桌面端基建开发,负责性能优化、稳定性维护和 CI 相关工作,重度自驾游爱好者。
+
+Editor of Old Driver Weekly, currently working at Zoom, involved in the development of Zoom desktop infrastructure, responsible for performance optimization, stability maintenance, and CI related work, and a heavy self driving enthusiast.
+
+### J_Knight_
+
+
+
+老司机技术成员,目前就职于同花顺,参与人工智能相关的业务开发。重度股票 & 期货爱好者。
+
+### AidenRao
+
+
+
+老司机技术成员,目前就职于字节跳动,参与抖音 APP 的开发工作,base 成都。想成为作家,又或者独立开发者,游戏设计师。擅长当韭菜。
+
+### 享耳先森
+
+
+
+老司机技术成员,目前就职于丁香园。参与丁香医生、丁香妈妈等 App 开发,还有自己的独立 App 骑行控。
+
+### 红纸
+
+
+
+老司机技术成员,WWDC 内参小助手(初号机)。目前就职于阿里巴巴,负责手淘 CI/CD 和研发效率相关工作。爱折腾新玩意儿。Dota2 仅 6k 小时的菜鸡。
+
+### 水水
+
+
+
+老司机技术成员,偶尔 T 技术沙龙 的临时工,目前就职于百度(上海),百度输入法 iOS & Mac 应用的程序媛。美食、徒步爱好者~
+
+
+### Leo
+
+
+
+老司机技术成员,目前就职于字节跳动,负责 TikTok iOS 客户端体验。喜欢研究一些技术底层的原理,业余喜欢主机游戏(特别是魂类游戏)。
+
+
+### 莲叔
+
+
+
+老司机技术成员,就职于uc,负责直播业务。主要关注音视频、端智能相关技术。原神57级摆烂中,最近开始打壁球。
+
+### 含笑饮砒霜
+
+
+
+老司机技术成员,目前就职于百度,随便做点、研究点东西。渴望尽早退休,善于发现美好,乐于享受生活。
+
+### Zvving
+
+
+
+老司机技术成员,目前就职于字节跳动,负责音乐创作客户端开发。热爱开源理念,每周一场足球不看球,任氏主机党塞尔达是天。
+
+### 邦Ben
+
+
+
+老司机技术成员,周报轮值主编,曾担任 WWDC 内参文章审核,目前就职于字节跳动 - 剪映,负责剪辑工具侧相关业务,最近入坑羽毛球被虐菜,塞尔达工业革命溜街中。
+
+### 慕牧 / Zoe
+
+
+
+老司机技术成员,目前就职于智谱华章。喜欢尝试新鲜事物,乐于探索,在变优秀的路上不断努力中~长板初学者。
+
+### BZ / BarneyZhaoooo
+
+
+
+老司机技术成员 / B站 / 原神、星穹铁道爱好者。
+
+### Damien
+
+
+
+老司机技术成员,目前就职于字节跳动,负责 TikTok 客户端隐私相关的工作。喜欢研究一些新新技术,爱折腾。
+
+### Smallfly
+
+
+
+老司机技术成员,目前就职于网易云音乐,负责长音频大前端业务。喜欢 Swift,对前端技术比较感兴趣。业务爱好健身,想当一枚粗狗。
+
+### 极速男孩007
+
+
+
+老司机技术成员,目前就职于回想科技,沉迷于 Flutter。喜欢各种数码产品。
+
+### Kyo
+
+
+
+老司机技术成员,目前就职于百度小说,负责客户端团队,关注文档、图书排版体验。喜欢的很多,这里说不过来。
+
+### xiaofei86
+
+
+
+老司机技术成员,目前就职于百度,负责百度网盘客户端基础架构相关的工作,正在折腾前端。日常躺平,梦想当一名卷王。
+
+### 四娘 / kemchenj
+
+
+
+老司机技术核心成员 / 开源爱好者 / 最近在做 3D 重建相关的开发工作
+
+### 老驴
+
+
+
+老司机技术成员,就职于某 404 公司, 努力写算法和推进项目中...
+
+### JonyFang
+
+
+
+老司机周报编辑,目前就职于哔哩哔哩,负责直播基础、业务开发。日常喜欢研究一些基础框架的底层原理,业余会跑跑步、打打球。
+
+### 天南 / CrazyCoderShi
+
+
+
+老司机技术成员,无业游民,天天瞎折腾;目前用 Flutter 写移动端。
+
+### 老峰
+
+
+
+老司机周报编辑,技术狂热,混迹币圈,希望早日自由。
+
+### CrazyZhang
+
+
+
+老司机周报编辑,另类的 Android 开发,Flutter 忠实拥护者,Unity 爱好人员,王者中毒人员。
+
+### anotheren
+
+
+
+老司机周报编辑,新晋奶爸,无业游民,正在向全栈独立开发者努力,熟悉图像与视频技术,希望在 AI 与 VR 浪潮中,找到新的定位。
+
+### mmoaay
+
+
+
+老司机早期编辑 / T沙龙负责人
+
+### Awhisper
+
+
+
+老司机技术成员,目前就职于蚂蚁金服,参与支付宝 APP 的开发工作,base 北京,常年出差杭州,不折腾不舒服司机。
+
+### 叶孤城 / Yegucheng
+
+
+
+老司机早期作者,现在佛系划水,独立开发者(app:灵动大陆),积极拥抱 SwiftUI too
+
+### 芒果 / 100mango
+
+
+
+https://github.com/100mango
+
+老司机早期编辑,喜欢清晰简洁的代码与技术方案
+
+### 小T / tom510230
+
+
+
+老司机技术曾经活跃的编辑,从 iOS 4 开始入坑,目前在剪映项目组,专注于跨平台技术相关领域
+
+### Jason Yu
+
+
+
+### 张嘉夫 / josephchang10
+
+
+
+独立开发者,数字游民。
+
+### Looping
+
+
+
+老司机技术成员,目前全力为小项目打杂,争取做大。业余爱好代码重构和算法设计,资浅科幻推理迷。
+
+### JimQ
+
+
+
+老司机技术候补队员。All in AI-App。理想是:大河向东流,财务挺自由。已经实现了上半句。
+
+### 五子棋 / SatanWoo
+
+
+
+老司机技术成员,就职于阿里巴巴淘宝,负责 端智能/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 f306fac5a..242c167c3 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
这个时代的问题不是缺乏信息,而是信息太多,不知道哪些信息是有价值的,哪些是对我而言有效的信息。既然我们平时也在关注 iOS 开发相关的资讯信息,不如整理出来。我们并不只是资讯的搬运工,也是价值的布道者。关于内容,不局限于具体的 iOS 技术相关的内容。也包括我们认为对于 iOS 开发者有价值的信息,比如软件工程、程序员话题。
@@ -8,9 +8,13 @@
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues ](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues ](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
-## 支持我们:[WWDC21 内参](https://xiaozhuanlan.com/wwdc21)
+## 支持我们:[WWDC24 内参](https://xiaozhuanlan.com/wwdc23)
-- 一年一度的 WWDC 又来啦!今年官方一共会有 220+ 个 Sessions 内容,我们将集结老司机 iOS 周报编辑以及社区内的一线 iOS 工程师,为你深度解读 WWDC21 中那些值得关注的 Session。
+**WWDC24 内参** 目前已经更新了 21 篇内容,并且我们今年做出了一个重大改变,关注老司机技术公众号并回复 ``2024`` 可以免费领取,后续也会在公众号上定期推送对应内容。
+
+**WWDC 内参** 系列是由「老司机技术」牵头组织的精品原创内容系列。已经做了几年了,口碑一直不错。和往年不同,今年几乎没有脱水稿了,得益于组建的审核团队和不断优化的创作流程,大家创作的内容都已经超越了视频本身的内容,非常有学习和参考意义。
+
+> 双审核机制:一位审核从专业性角度看内容是否正确,另外一位审核从读者角度看知识是否正确引导。
## 订阅周报
@@ -29,6 +33,9 @@
#### 轮值主编
#### 荣誉编辑
diff --git a/Report template.md b/Report template.md
index 6abca4a29..4f7ff3747 100644
--- a/Report template.md
+++ b/Report template.md
@@ -1,6 +1,6 @@
-# 老司机 iOS 周报 #1 | 2021-03-25
+# 老司机 iOS 周报 #319 | 2025-01-06
-
+
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
@@ -37,25 +37,17 @@
> 比较不错的书的推荐和书评
-## 摸鱼周报
-
-[@摸鱼周报 #11](https://mp.weixin.qq.com/s/hE9wYlLX8F1sKjIF5eIPVQ):本期摸鱼周报带来了
-
## 内推
-老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
-
-如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
-
-如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
-当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
## 关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
-**关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参**
+**关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参**

diff --git a/Reports/2022/#197-2022.03.28.md b/Reports/2022/#197-2022.03.28.md
index 6abca4a29..4792f5562 100644
--- a/Reports/2022/#197-2022.03.28.md
+++ b/Reports/2022/#197-2022.03.28.md
@@ -1,4 +1,4 @@
-# 老司机 iOS 周报 #1 | 2021-03-25
+# 老司机 iOS 周报 #197 | 2022-03-28

老司机 iOS 周报,只为你呈现有价值的信息。
@@ -7,42 +7,117 @@
## 新闻
-> 行业相关的新闻、趣事、看法
+### [Swift bugs are moving to GitHub Issues and we need your help!](https://forums.swift.org/t/swift-bugs-are-moving-to-github-issues-and-we-need-your-help/56125)
+
+[@J_Knight_](https://github.com/knightsj):Swift 的 issue 管理将要从 JIRA 转移到 Github,计划全部迁移过程在今年的4月28日结束。在这之前,已经在 JIRA 上建立的 issue 会被完全复制到 Github 的 issue 列表中,作为一个新的 issue。以后 JIRA 也不再支持新的 issue 的建立,而且 bugs.swift.org 网址也会重定向到 Github issue 的地址。想了解详细迁移步骤的读者可以了解一下。
## Developer - 设计开发加速器
-> 设计开发加速器相关活动
+### 🌟 🐕 [在苹果加速器活动做的 SwiftUI 开发分享](https://mp.weixin.qq.com/s/vni4zrbIWqvX7vZ9WuX2xw)
+
+戴铭老师受 Apple 加速器 SwiftUI 活动的邀请在 3 月 25 日做了一次关于 SwiftUI 的分享,分享内容包括但不限于macOS 如何解决多栏问题、Toolbar、文件夹嵌套结构、文本和代码编辑器、Grid、Vision、SwiftUI 组件和 UIKit 组件对比等内容。
## 新手推荐
-> 收集一些对新手友好且质量不错的文章
+### 🌟 🐕 [Abstract types and methods in Swift](https://www.swiftbysundell.com/articles/abstract-types-and-methods/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文介绍了 Swift 中一种实现虚类的方案。单独使用 Class 或者单独使用 Protocol 都会有各自的不足,因此作者选择:
+
+方法定义在 Protocol 中(包含 associatedtype ),成员变量定义在 Class 中,再使用 typealias 将 Protocol 与 Class 组合成一个类型进行使用。
+
+这个方案也会带来一些问题,但也有各自的解决方案,酌情选取即可。
+
+- 由于新的类型也包含 associatedtype,因此[无法被直接当类型使用](https://www.swiftbysundell.com/questions/referencing-generic-protocols/),可以使用[类型擦除](https://www.swiftbysundell.com/articles/different-flavors-of-type-erasure-in-swift/)解决。
+- 无法基于新的类型添加 extension。只能在原本的 Class 中添加方法,但有时这个方法又不应该或者不能添加在原本的 Class中。这时则可以在 Protocol 中也重复声明 Class 中对应的变量,而把方法添加在 Protocol 对应的 extension 中。
## 文章
-> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
+### 🐕 [内存优化: 纹理压缩技术](https://mp.weixin.qq.com/s/V7sK1WwQ4D3LikK2AHgrZQ)
-## 工具
+[@老驴](https://weibo.com/u/6090610445):元宇宙和 3D 相关技术的火爆也在最近带动了相关话题好文章的出现。淘系技术团队的这篇分享就是阿里团队在小程序中对纹理压缩的一些探索和优化。 GPU 的不断发展让纹理压缩在移动端也获得了广泛的支持,而如果能合理的使用,能够带来体积,内存占用和性能上的提升。
+
+### 🐕 [AnyObject, Any, and any: When to use which?](https://www.avanderlee.com/swift/anyobject-any/)
+
+[@享耳先森](https://github.com/iblacksun):Swift 5.6 在 [SE-355](https://github.com/apple/swift-evolution/blob/main/proposals/0335-existential-any.md) 引入了 `any` 关键词,加上之前已有的 `AnyObject` 和 `Any`(注意是大写)。本文介绍了三个关键词各自的使用场景并着重介绍新引入的 `any` 的作用。
+
+### 🐢 [Hummer 引擎优化系列 - 大批干货来袭预警](https://mp.weixin.qq.com/s/esYrzI1N_AsZPjJXZxnSdQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Hummer 是 UC 内核团队定制的 Flutter 引擎,它基于官方 Flutter 引擎进行优化增强。经过近两年的持续优化和增强,Hummer 在各方的表现都足够亮眼,且经过了巨量的验证,接下来 UC 团队将会讲这些优化经验回馈于社区,可谓是干货满满,主要集中在:
+
+- 性能优化
+- 包体积优化
+- 内存稳定性
+- Dart 语言层优化
+- 业务层功能增强
+
+### 🐕 [Flutter 比 React Native 更好吗?](https://mp.weixin.qq.com/s/DozzpgKxvXtgBG1-tYjboQ)
+
+[@xiaofei86](https://github.com/xiaofei86):本文作者是一家软件开发公司的创始人兼 CTO,同时也是 React Native 的核心成员。在这篇文章里,作者试着尽可能公平地从人力成本,开发者体验,性能,体验,Web 支持,第三方生态,动态更新,以及使用它们的公司等多方面,去讨论 Flutter 和 React Native 的优劣,让大家在项目技术选型时多一点指导权衡思考的素材。
-> 开发过程中常用的工具,及一些新工具的介绍
+### 🐕 [Creating Airbnb’s Page Performance Score | by Andrew Scheuermann | The Airbnb Tech Blog | Medium](https://medium.com/airbnb-engineering/creating-airbnbs-page-performance-score-5f664be0936)
-## 代码
+[@Barney](https://github.com/BarneyZhaoooo) 本文介绍了 Airbnb 构建自己的 PPS (一个 0 - 100分的多维度页面性能评分体系)的思考过程、维度分析、困难探索、落地效果。可以按下面几个步骤品读:
-> 库,代码段,开源app
+- Early Performance Measurement Efforts
+- Introducing the Page Performance Score
+- The Metrics
+- Web Metric Weights
+- PPS Evolutions
+- Weighted Average Score
-## 书
+### 🐕 [自动拦截 50% crash,字节自研 Fastbot 如何助力今日头条稳定性测试](https://mp.weixin.qq.com/s/WOFf5Pj9zEKhqbRtzR95Gw)
-> 比较不错的书的推荐和书评
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):Fastbot 是字节自研的智能化测试服务,利用机器学习和强化学习进行遍历测试,在代码覆盖率方面与人工回归有着相当的表现。Fastbot 可以实现操作可视化、场景限定、卡屏检测、无障碍检测等诸多能力。目前 Fastbot 自动化任务已经能较好地发现 App 内的稳定性问题,已经可以帮助字节拦截 50% 左右的异常问题,同时会继续完善 Fastbot 的遍历能力和健全 Fastbot 相关指标建设。
-## 音视频
+## WWDC21 内参
-> 比较不错的书的推荐和书评
+### [为你的 App 减少网络延迟](https://mp.weixin.qq.com/s/F6Yfbqio50OyAzCntNEmXg)
+
+[@lmh](https://github.com/mhlee2913):本文主要介绍了影响网络延迟的原因及如何降低网络延迟,主要是从降低 `RTT` 次数,和降低单次 `RTT` 时间展开讲述。文中涉及了很多传输层协议相关的知识,也会对相关概念进行解释。最后介绍了目前一些技术的应用现状。
+
+### [Swift 中的 ARC 机制: 从基础到进阶](https://mp.weixin.qq.com/s/ZJ3gVI-jzDcKpRKa0IMi0A)
+
+[@刘夏](https://github.com/lldong):文章围绕 Swift 语言中的 ARC(自动引用计数)机制讲述了实践过程中对象生命周期变化可能引发的问题以及如何从语言或代码设计层面去规避这些问题。
+
+## 工具
+
+### [swift-docc-plugin](https://github.com/apple/swift-docc-plugin)
+
+[@kemchenj](https://kemchenj.github.io):跟随 Xcode 13.3 发布的 SPM 加入了 [Command Plugin](https://github.com/apple/swift-evolution/blob/main/proposals/0332-swiftpm-command-plugins.md) 功能,苹果官方也发布了[对应的 docc 插件](https://github.com/apple/swift-docc-plugin),只要在 Package.swift 里引入这个 plugin,就可以在 CLI 里用 `swift package generate-documentation` 一键生成文档。:
+
+```swift
+let package = Package(
+ // name, platforms, products, etc.
+ dependencies: [
+ // other dependencies
+ .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
+ ],
+ targets: [
+ // targets
+ ]
+)
+```
## 摸鱼周报
-[@摸鱼周报 #11](https://mp.weixin.qq.com/s/hE9wYlLX8F1sKjIF5eIPVQ):本期摸鱼周报带来了
+[@摸鱼周报 #48](https://mp.weixin.qq.com/s/vdUy-BqxWzuPcjYO6fFsJA):第四十八期摸鱼周报来了,完整内容可以点击左侧链接,一起来看下本期摘要:
+
+* 话题:node-ipc 供应链投毒事件
+* 面试模块:OC 对象弱引用指针标识位
+* 优秀博客:程序员如何自我提升
+* 学习资料:以 Java 为背景的全栈知识体系
+* 开发工具:新一代卡片笔记工具:flomo
## 内推
+### [上海] 谷歌 - iOS 开发 - 智能家居
+
+谷歌在上海开放了 iOS 岗位,主要与 Google Nest 智能家居相关的 App 开发。
+
+更多岗位介绍详见:[Software Engineer, iOS App, Nest Smart Devices](https://careers.google.com/jobs/results/92585557856527046-software-engineer-ios-app-nest-smart-devices/?company=Google&company=YouTube&hl=zh_CN&jld=10&location=Shanghai,%20Shanghai,%20China&q=ios) 和 [Lead Software Engineer, iOS App, Google Nest](https://careers.google.com/jobs/results/108031396271792838-lead-software-engineer-ios-app-google-nest/?company=Google&company=YouTube&hl=zh_CN&jld=10&location=Shanghai,%20Shanghai,%20China&q=ios)
+
+### 其他
+
老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
diff --git a/Reports/2022/#198-2022.04.11.md b/Reports/2022/#198-2022.04.11.md
new file mode 100644
index 000000000..4deaabe67
--- /dev/null
+++ b/Reports/2022/#198-2022.04.11.md
@@ -0,0 +1,234 @@
+# 老司机 iOS 周报 #198 | 2022-04-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Call to Code](https://developer.apple.com/wwdc22/)
+
+苹果将在今年 6 月 6 日举办一年一度的 WWDC 全球开发者大会,今年的大会主题是「Call to Code(召唤编码侠)」,依旧采用在线形式举行,会给大家带来各种最新技术的展示。今年,老司机依旧会牵头组织 「WWDC 内参」活动,想参与的可以添加 iTDriverr 了解细节。
+
+### [“阅读器”app 分发的更新](https://developer.apple.com/cn/news/?id=grjqafts)
+
+去年,Apple 宣布了 2022 年初在 App Store 上将进行的更新,该更新将允许“阅读器”app 的开发者在 app 中提供一个指向其网站的链接,以便用户创建或管理帐户。从今天开始,《App Store 审核指南》中的准则 3.1.3(a) 将会更新,阐明阅读器 app 的开发者现在可以申请外部链接的帐户授权。此授权将允许阅读器 app 链接到开发者拥有或维护的网站,以便用户在 app 外创建或管理其帐户。阅读器 app 指的是提供以下一种或多种数字内容类型 — 杂志、报纸、图书、音频、音乐或视频 — 作为其主要功能的 app。
+
+## Developer - 设计开发加速器
+
+### [降低 App 的卡顿率](https://developer.apple.com/cn/accelerator/)
+
+2022 年 4 月 12 日(报名截止 4 月 11 日)
+
+App 性能留给用户的第一印象往往难以改变。本讲座详细讲解导致 app 卡顿的一些反面典型,和避免这些卡顿的最佳实践。讲座重点讨论 Grand Central Dispatch 多线程技术,以便减少卡顿。并指导开发者适时采用异步编程,以便提高性能。
+
+
+
+## 新手推荐
+
+### 🐎 [Introduction to Xcode Frame Debug - A Sherlock Holmes Adventure](https://holyswift.app/introduction-to-xcode-frame-debug-a-sherlock-holmes-adventure)
+
+[@Smallfly](https://github.com/iostalks):在 iOS 开发过程中经常要和 View 打交道,难免会遇到 View 显示异常的问题。本文从 Xcode Debug View 工具入手,介绍了几种调试 View 不显示的线索,主要包括:
+
+* 检查 View 是否在父视图上
+* 检查 alpha 属性
+* 检查 hidden 属性
+* 检查 frame 是否超出父视图
+
+这几种方式都比较常规。最后还介绍了一个小技巧,设置 `clipsToBounds = true` 的父视图,通过 *Show Clipped Content* 能显示被裁切的子视图。
+
+## 文章
+
+### 🌟 🐢 [干货 | Flutter在携程复杂业务的高性能之旅](https://mp.weixin.qq.com/s/QgPXNpdU2mlAb6tlcsm_eQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 在渲染性能上一直都是其宣传的亮点,然而即使这样在业务开发中仍然有较多需要注意的地方,本文由携程团队给大家带来的 Flutter 下复杂场景的性能优化,涉及方方面面,干货满满,所有优化项所见所得:
+
+- UI 线程优化
+ - 拆分VieModel降低刷新几率
+ - Provider监听数据推荐使用Selector
+ - 减少在build中做耗时操作,放到Isolate去执行
+ - 缓存高层级组件
+ - 控制刷新范围、频次
+ - setState 刷新颗粒度在最低层
+ - const 修饰避免频繁构造
+
+- GPU 线程优化
+ - 使用RepaintBinary隔离 提别是轮播广告、动画
+ - 减少ClipPath的使用,简单圆角采用BoxDecoration实现
+ - 避免Opacity,可以通过切图实现。有动画效果的建议用AnimatedOpacity
+ - 避免使用带换行符的长文本
+
+- 图片渲染性能和内存开销治理
+ - 图片预加载
+ - 资源优化
+ - 图片内存优化
+
+- 长列表滑动性能优化
+ - ListView Item 复用
+ - 首页预加载
+ - 分页预加载
+ - 取消在途网络请求
+
+小编强烈推荐 👍 ,同时再次推荐携程团队的[另一个干货: Flutter控件CustomScrollView原理解析及应用实践](https://mp.weixin.qq.com/s/dF5Id3w_To4aXeXDbUnUjQ)给同学们搭配学习
+
+### 🐕 [Airbnb’s Page Performance Score on iOS | by Nicholas Miller | The Airbnb Tech Blog | Medium](https://medium.com/airbnb-engineering/airbnbs-page-performance-score-on-ios-36d5f200bc73)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文是 Airbnb PPS 的第二部分,介绍了 PPS 在 iOS 端的具体实践应用,并配有重点代码思路分析,时间锚点的选取和状态机的丝滑运用让人眼前一亮。
+
+- Page System
+- PPSStateMachine
+- Time
+- View Association
+- Metric Implementation
+
+### 🐕 [FormatStyle AttributedString Output](https://ampersandsoftworks.com/posts/formatstyle/style-deep-dives/attributed-strings/)
+
+[@anotheren](https://github.com/anotheren): AttributedString 是 iOS 15 引入的全新富文本对象,同时也引入了 FormatStyle 协议来抽象格式化的方式。本文提供了大量实例(Playground)来展示如何使用这些内置的 API 来格式化日期、单位、数据等对象。
+
+### 🐕 [iOS 15.4 12小时制 时间格式转换崩溃 - 掘金](https://juejin.cn/post/7077493937383948295)
+
+[@Barney](https://github.com/BarneyZhaoooo) :本文介绍了一个在iOS15.4系统由于时间转换造成的崩溃。时间转换是大家平时开发经常用到的,值得引起注意防患于未然。
+
+- 系统解析对比
+- 理论原因定位
+
+### 🐕 [Flutter 代码生成 source_gen 使用与原理分析](https://mp.weixin.qq.com/s/lrEzYdbafrqfDVFQl2ebRQ)
+
+[@邦Ben](https://weibo.com/linwenbang):众所周知,你应该多少会用过 json_serializable 吧,那么就一定知道基本的原理是通过解析声明文件,从而生成相关 json 序列化和反序列化代码。那么当你从事过较多的开发之后,一定会遇到很多重复的代码复制粘贴,例如:路由的编写,或者 channel 的生成,架构代码生成,ImageAsset 代码生成等等。那么你应该会自然地想到,我也可以像 json_serializable 和 pigeon 去做一些提高效率的工具,那这时候可以看下 source_gen,这个库进行了一些封装,让你更方便的定制代码生成的逻辑。
+
+参考链接:
+[Flutter使用source_gen快速提升开发效率](https://mp.weixin.qq.com/s/kwgI1FsEo5BGE7bRqKM7Mw)
+
+### 🐢 [Flutter 滑动体验对齐原生 - 滑动曲线篇](https://mp.weixin.qq.com/s/aqXdYYEArhEj6ikqg2oX9g)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文介绍了在 Flutter 的滑动手感拉齐 Native 方向上做出的努力。主要思路分为两步:解决 fling 动画在一次滑动中反复重启;选择更合适的衰减公式。同时介绍了调整滑动曲线的一些常用思路:降低初速度给曲线减速;通过对初始速度叠加衰减值,运用二次函数,在快速滑动时衰减慢,慢速滑动时衰减快。
+
+### 🐕 Optimization in Swift
+
+作者以 filter 为例,带着我们进行一次算法性能优化,包括算法性能的测算,结果的分析以及后续针对性的优化:
+
+1. [如何测量算法性能](https://trycombine.com/posts/swift-performance-concurrency-1/)
+2. [使用 Concurrency 算法](https://trycombine.com/posts/swift-performance-concurrency-2/)
+3. [内存预分配](https://trycombine.com/posts/swift-performance-concurrency-3/)
+4. [总结](https://trycombine.com/posts/swift-performance-concurrency-4/)
+
+### 🐕 [Swift 生成原生二维码](https://digitalbunker.dev/native-barcode-qr-code-generation-in-swift/)
+
+[@AidenRao](https://weibo.com/AidenRao):如果你需要生成一个二维码或者条码,无需去寻找第三方库,直接用 swift 原生代码就可以实现。iOS 自带的 CIFilter 支持二维码、[Aztec 码](https://zh.wikipedia.org/wiki/Aztec%E7%A0%81)、[Code 128](https://en.wikipedia.org/wiki/Code_128) 以及 [PDF417 条码](https://zh.wikipedia.org/wiki/PDF417%E6%9D%A1%E7%A0%81),文章还提供了每一个条码的示例代码作为实现参考。
+
+### 🐎 [Weak self, a story about memory management and closure in Swift](https://benoitpasquier.com/weak-self-story-memory-management-closure-swift/)
+
+[@kemchenj](https://kemchenj.github.io/):在 Swift 里我们经常需要使用 weak 和 unowned 来解决循环引用的问题。
+
+只使用一个闭包的时候,引用的逻辑关系很简单明了,但闭包嵌套的时候,即使使用了 weak 也有可能会不小心产生循环引用,这篇文章就针对这种情况进行了仔细的说明,并且提供对应的解决方案。
+
+### [Swift.org Website is Now Open Source](https://www.swift.org/blog/website-open-source/)
+
+Swift.org 网站一直以来为广大开发者提供 Swift 相关的开源库、工具、文章等,现如今,其官方宣布 Swift.org 网站本身也成为了一个开源项目!这为广大 Swift 粉丝提供了一个很好的学习平台,快去看看吧!
+
+### 🐎 [Consistent Swift style in Xcode with SwiftLint](https://swdevnotes.com/swift/2022/consistent-swift-style-in-xcode-with-swiftlint/)
+
+[@老峰](https://github.com/gesantung):SwiftLint 是 Realm 推出的一款 Swift 代码规范检查工具,本文较详细的的介绍了 SwiftLint 的使用,包括:
+- 将 SwiftLint 与 Xcode 集成
+- SwiftLint 规则
+- 自动修复&手动修复 SwiftLint 违规代码
+- 自定义 SwiftLint 规则
+
+### 🐕 [理解 Swift 中的指针](https://mp.weixin.qq.com/s/4O5RZCiR9-kUOHJ5SdE9jg)
+
+[@AidenRao](https://weibo.com/AidenRao):Swift中的指针分为两类
+
+1. typed pointer: 指定数据类型指针,即 UnsafePointer\。
+2. raw pointer: 未指定数据类型的指针(原生指针) ,即 UnsafeRawPointer。
+
+每一类又分可变不可变,pointer(单个值) 与 bufferPointer(相同类型集合)。
+
+文章通过示例代码,详细介绍了这些指针的使用方式。
+
+### 🌟 🐕 [短视频编辑中的AVFoundation框架](https://juejin.cn/post/7077870149239308324)
+
+[@JonyFang](https://github.com/JonyFang): 本系列文章围绕 iOS 平台上短视频编辑功能中 AVFoundation 扮演的角色展开讨论,本篇主要介绍学习 AVFoundation 框架需要了解的基础模块和相关的数据类型及注意事项。本系列文章分三篇,依次为:
+
+- [01.框架概述与基础](https://juejin.cn/post/7077870149239308324)
+- [02.素材添加与处理](https://juejin.cn/post/7077875029161017380)
+- [03.视频编辑与导出](https://juejin.cn/post/7079397452192841735)
+
+### 🌟 🐕 [音视频工程示例专栏](https://mp.weixin.qq.com/mp/appmsgalbum?)
+
+- 第六篇 iOS 音频渲染: [从 MP4 中解封装解码出音频并渲染播放](https://mp.weixin.qq.com/s/xrt277Ia1OFP_XtwK1qlQg)
+- [iOS 音频处理框架及重点 API 合集](https://mp.weixin.qq.com/s/w_5pZoeV0GdcFppIpuvVcw)
+
+[@JonyFang](https://github.com/JonyFang): 第六篇 Demo,主要是实现对 MP4 文件中音频部分的解封装和解码逻辑,并将解封装、解码后的数据送给渲染模块播放;最后在前面音频处理 Demo 的基础上,对 iOS 音频处理框架及重点 API 的梳理。
+
+
+## 工具
+
+### [Hot Reloading in Swift](https://merowing.info/2022/04/hot-reloading-in-swift/)
+
+[@zvving](https://github.com/zvving):Xcode 通过 Previews 提供快速预览 SwiftUI 代码修改的方案,虽几经迭代,稳定性一直被人诟病;而通过 [InjectionIII](https://github.com/johnno1962/InjectionIII) 同样可以达到实时预览(Live Reload)代码修改的效果,但注入代码非常冗余。通过作者提供的 [Inject](https://github.com/krzysztofzablocki/Inject) 可以大幅简化注入代码(依旧需要配合 InjectionIII 工作)。
+
+需要经常调试预览 SwiftUI、UIKit 的朋友不要错过,建议先通过 [Example 项目](https://github.com/MarcoEidinger/InjectSwiftUIExample) 上手配置过程。
+
+
+## 代码
+
+### 🌟 🐕 [fatbobman/SwiftUIOverlayContainer](https://github.com/fatbobman/SwiftUIOverlayContainer)
+
+[@JonyFang](https://github.com/JonyFang): SwiftUI Overlay Container 是一个用于 SwiftUI 的视图容器组件,可定制、高效、便捷的视图管理器。通过文档的配置,即可完成从视图组织、队列处理、转场、动画、交互到显示样式配置等基础工作。
+
+## WWDC21 内参
+
+### [初见 TextKit 2](https://mp.weixin.qq.com/s/vZ74jNgItabOB-TsaQn6Uw)
+
+[@Damien](https://github.com/ZengyiMa): 通过本文你将会了解到 TextKit 1 到 TextKit 2 的变化内容,并且可以深入了解 TextKit 2 的内部的工作原理和机制。
+
+### [IAP 用户退款与客诉处理优化](https://mp.weixin.qq.com/s/MtytymgkcP3_oAH7JyI1og)
+
+[@SeaHub](https://github.com/SeaHub): 众所周知,IAP 客诉处理一直是一个"老大难"问题。用户在反馈 IAP 问题时,往往只提供其支付后获得的苹果订单。而由于苹果设计原因,开发者无法根据苹果订单反查出业务订单信息,继而无法较好的处理用户反馈的客诉问题,导致支付用户可能因体验不佳而流失。除此之外,恶意退款也是另外一个 IAP 工程师必经的"老大难"问题,无法有效索回商品,导致造成业务出现坏账的情况比比皆是
+
+WWDC 2021,苹果为了优化客诉处理,同时为了打击恶意退款,提供了不少新能力。通过阅读本文,读者可以快速掌握部分 IAP 场景的痛点,以及如何基于新特性优化这部分的痛点
+
+### [IAP 后台通信优化与实践](https://mp.weixin.qq.com/s/dWsRKRJsYMRl0GX_36T-kg)
+
+[@SeaHub](https://github.com/SeaHub): 长期以来,苹果仅为 IAP 提供了 /verifyReceipt 这一个用于校验票据的后台接口。这也导致了该接口被全球众多开发者所依赖,基本上这个接口一旦出现问题,依赖后台票据校验的 App 都会出现因无法校验票据有效性而出现发货延迟问题。令人糟心的是,/verifyReceipt 接口目前表现确实不太稳定,一年总会出现两三次的服务不可用的情况;而日常其请求时耗也极高,业务的 IAP 后台处理时耗严重受该接口影响
+
+终于在今年,苹果新增了 Subscription Status API & In-App Purchase History API,同时,也诞生了可自校验的 JWS 形式票据。并且苹果还对备受开发者吐槽的后台通知进行了升级,新增 App Store Server Notification V2。
+
+在我看来,类似的举措一方面是为了给 /verifyReceipt 降负,另一方面也是为了丰富 IAP 的场景,给开发者提供更好的服务。通过阅读本文,读者可以快速掌握本次 WWDC21 的新特性,以及能够基于新特性对历史遗留的痛点做相应的优化处理
+
+## 摸鱼周报
+
+[@摸鱼周报 #49](https://mp.weixin.qq.com/s/6GvVh8_CJmsm1dp-CfIRvw):第四十九期摸鱼周报来了,一起来看下本期概要:
+
+* 话题:Chrome 100 发布,关于阅读器类的 App 审核指南有所更新
+* 面试模块:Runtime 中的 **StripeMap** 模板类
+* 优秀博客:Swift 5.6 和 Xcode 13.3 的新特性和新功能
+* 学习资料:即时设计是一款可以在线实时协作的专业 UI 设计工具
+* 开发工具:Decode,将 `Xcode Interface Builder` 文件(`Xib` 和 `Storyboard` 文件)转换为 `Swift` 源代码。
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参**
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#199-2022.04.18.md b/Reports/2022/#199-2022.04.18.md
new file mode 100644
index 000000000..86ab1b8e0
--- /dev/null
+++ b/Reports/2022/#199-2022.04.18.md
@@ -0,0 +1,204 @@
+# 老司机 iOS 周报 #199 | 2022-04-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## Developer - 设计开发加速器
+
+### [“订阅优惠”的工程实践](https://developer.apple.com/cn/accelerator/)
+
+2022 年 4 月 21 日(报名截止 4 月 20 日)
+
+学习如何通过 StoreKit 技术的接入向您的用户提供自动续期订阅产品的推介促销优惠、促销优惠和优惠代码。允许新用户或现有用户在特定时限内免费获取或以折扣价购买自动续期订阅。
+
+### [加快您的测试过程](https://developer.apple.com/cn/accelerator/)
+
+2022 年 4 月 19 日(报名截止 4 月 18 日)
+
+探索如何进行自动化测试,进一步有效处理测试结果。改进您的测试套件以加快反馈循环,进而更快地得到修复。了解如何利用 Test Plan 测试计划、xcodebuild 命令行工具及相关 API 来消除永无止境和表现不佳的测试。我们将研究 XCTest 中的测试超时和执行时间余量,检查设备并行化,并详细介绍用于平衡性能和明确故障定位的推荐实践。
+
+
+
+## 新手推荐
+
+### 🐕 [Design Patterns 的实战应用记录](https://medium.com/p/78507a8de6a5)
+
+[@老驴](https://weibo.com/u/6090610445):2016年的时候最火的文章莫过于一些设计模式类的分享。当时各种 MVP,MVC 等等的讨论火爆整个移动开发圈。只不过这几年,很难再见到有这类的文章了。这篇文章是作者自荐,记录的是作者完成一个对其他第三方库的封装的过程。对于刚接触移动开发的同学,可以再学习一下设计模式和其中的思路。
+
+对于大家刚接触这类的同学们,还是想再强调下,天下没有最好的设计模式,只有最适合当前项目的设计模式。千万不要陷入为了模式而模式的陷阱中去,过度设计也不可取。
+
+> 推荐人:[zhgchgli0718](https://github.com/zhgchgli0718)
+
+## 文章
+
+### 🌟 🐢 [Lookin 原理及 5 个开发难点](https://mp.weixin.qq.com/s/DL28y2qHkuDv4W_zLUbKcg)
+
+[@Damonwong](https://github.com/Damonvvong):Lookin 是一款可以查看与修改 iOS App 里的 UI 对象的软件,相信很多人都使用过它,之前一直好奇这款软件的实现原理,软件作者李凯就带了了实现 Lookin 的原理和 5 个开发难点。其主要通过 CS 架构实现 mac app 和 iOS app 之前的通信机制。同时也从做 Lookin 这款软件的过程中,总结了以下几个经验:
+
+- iOS 程序员如何学习写 macOS 程序?
+- 如何在 macOS 和 iOS 之间传输数据?
+- 如何正确渲染展开/折叠图像?
+- 如何渲染 3D 图像?
+- 如何加快刷新速度?
+
+感兴趣的同学,可以阅读原文查看细节。
+
+### 🌟 🐕 [Xcode Cloud: Feedback from leboncoin](https://medium.com/leboncoin-engineering-blog/xcode-cloud-feedback-from-leboncoin-82991326faa0)
+
+[@Damien](https://github.com/ZengyiMa): Xcode Cloud 是专为 Apple 开发者设计的 Xcode 内置持续集成和交付服务。本文来自 leboncoin iOS 团队在使用 Xcode Cloud 的体验,详细介绍了 Xcode Cloud 的方方面面,也介绍了其中的不足和优势,对 iOS 开发 CICD 相关的感兴趣的同学不妨一读。
+
+### 🌟 🐕 [音视频工程示例 AVDemo 7、8、9](https://mp.weixin.qq.com/s/CJAhkk9BmhMOXgD2pl_rjg)
+
+[@JonyFang](https://github.com/JonyFang): 音视频工程示例 AVDemo 7、8、9 篇:
+
+- iOS AVDemo 7: [视频采集 Demo](https://mp.weixin.qq.com/s/CJAhkk9BmhMOXgD2pl_rjg),实现视频采集逻辑并将采集的视频图像渲染进行预览,同时支持将数据转换为图片存储到相册;
+- iOS AVDemo 8: [视频编码 Demo](https://mp.weixin.qq.com/s/M2l-9_W8heu_NjSYKQLCRA),串联视频采集和编码模块,将采集到的视频数据输入给编码模块进行编码,并存储为文件;
+- iOS AVDemo 9: [视频封装 Demo](https://mp.weixin.qq.com/s/W17eLiUeCszNM8Kg-rlmBg),串联视频采集、编码、封装模块,将采集到的视频数据输入给编码模块进行编码,再将编码后的数据输入给 MP4 封装模块封装和存储;
+
+### 🐢 [得物 App H5 秒开优化实战](https://mp.weixin.qq.com/s/23ZFPK4CaCkinwpZ3SG9Rw)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了得物技术是如何将 H5 页面的秒开率从 30% 提高到 75% 的。文章最开始介绍了优化的背景和使用的指标。然后介绍了具体的优化方案,在客户端和 H5 都做了优化:
+
+客户端优化:
+- HTML 预加载
+- HTML 预请求
+- 离线包技术
+- 接口预请求
+- 预建连 & 链接保活
+- 预渲染
+
+H5 优化:
+- SSR 服务端渲染
+- HTML 预渲染
+- CSS 包大小优化
+- 图片优化
+- 其它优化
+
+在介绍方案的同时,也给出了遇到的难点和方案应用后的效果展示,文章最后也介绍了所使用的前端性能监控的方案
+
+### 🐢 [Introducing Swift Async Algorithms](https://www.swift.org/blog/swift-async-algorithms/)
+
+[@莲叔](http://github.com/aaaron7):async/await 操作符相信大家都不陌生,在很多语言中都对起进行了支持,比如 js。async/await 最大的意义在于让我们可以用顺序结构来书写异步代码,更加清晰,避免了callback hell。3月份,Swift 维护小组发布了原型版本的 Swift Async Algorithm Package,其中就包含了 async/await 的实现以及专门用来处理异步系列的算子,比如 Zip/CombineLast/Merge/Chain/Buffer/Debounce/Throttle。这些算子相信大家都不陌生,其实用法和在处理集合类型中使用是没有太大区别的,只是搭配 async/await 来使用就能够并发强大的能量,使用简洁的代码描述复杂的异步逻辑。感兴趣的同学可以持续关注这个 package 的后续进展。
+
+### 🐎 [iOS SIGKILL 简单介绍](https://juejin.cn/post/7081995513700024327)
+
+[@xiaofei86](https://github.com/xiaofei86):当崩溃日志的 Exception Type 为 SIGKILL 时,表示操作系统从上层杀死了我们的进程。本文通过对苹果 [Understanding the Exception Types in a Crash Report](https://developer.apple.com/documentation/xcode/understanding-the-exception-types-in-a-crash-report) 和 [Addressing Watchdog Terminations
+](https://developer.apple.com/documentation/xcode/addressing-watchdog-terminations) 文章的翻译整理,介绍了 SIGKILL 不同错误代码的含义,以及如何定位解决这些问题。
+
+### 🐎 [Adding Custom Shortcuts To Xcode](https://digitalbunker.dev/toggling-slow-animations-again/)
+
+[@极速男孩](https://github.com/ztlyyznf001):在 Xcode 把开启模拟器中的Slow Animations 的 Command + T 去掉以后,如果要打开 Slow Animations 就变得十分麻烦。本文教你如何给 Xcode 设置一些自定义的快捷键。
+
+### 🐢 [终端新玩法:“零代码”的剧本式引导](https://mp.weixin.qq.com/s/HZDcvHAtIgJfgD2mMGaHzA)
+
+[@AidenRao](https://weibo.com/AidenRao):互联网行业节奏偏快,App 的更新愈发频繁,如何让用户理解产品功能,完成认知迭代,是业务发展中不可忽视的一环。本文介绍了美团外卖终端团队在用户心智建设领域的探索与实践。从业务现状与剧本式思维的思考出发,终端加管理后台的一站式设计,传统 CV 与深度学习结合,大大简化了剧本式引导的接入门槛。
+
+### 🐕 [Xcode13 “消失”的 Info.plist 文件](https://mp.weixin.qq.com/s/mgGjBb9dt714c117xrYGfQ)
+
+[@Barney](https://github.com/BarneyZhaoooo): 本文介绍了 Xcode13 中 Info.plist 文件的官方配置变化。
+
+从 Xcode13 开始,新建的工程不再要求使用配置文件(Info.plist、entitlements)。如果需要修改 Xcode 的配置,请直接在 Xcod e面板 ”target - Info - Custom iOS Target Properties” 和 ”build settings”中设置。
+
+- 消失的 Info.plist 文件
+- 如何回到从前的 Info.plist?
+
+### 🐎 [Flutter 代码生成技术 APT 与 AOP 适用场景与对比](https://mp.weixin.qq.com/s/eWG8HiaJFiHd3jxSnnZ4aQ)
+
+[@Damien](https://weibo.com/ZengyiMa):APT(Annotation Processing Tool)是注解处理工具,AOP(Aspect-Oriented Programming)是面向切面编程,在 Flutter 中也有类似的概念,本文从以下几个方面详细介绍了这 2 项技术:
+
+* APT & AOP 的概念解读
+* APT & AOP 的实现原理
+* APT & AOP 的使用场景
+* APT & AOP 的技术对比
+
+### 🐎 [精确定位页面滑动帧率瓶颈及优化参考](https://juejin.cn/post/7077812846217658381)
+
+[@Leo](https://github.com/leomobiledeveloper):页面流畅性是一个非常影响用户体验的性能指标。本文从原理和工具出发,讲解了如何定义以及分析卡顿,接着从富文本异步绘制、约束布局、视图创建等几个角度介绍了如何针对性的优化。
+
+### 🐕 [PROTOCOL & GENERIC IN SWIFT](http://nonomori.bitcron.com/post/protocolandgenericinswift/readme)
+
+[@zvving](https://github.com/zvving):Swift 基于面向协议的设计提供了简明&丰富的抽象手段,这也给复杂场景使用 Protocol 带来不少歧义,官方最近几个版本与之相关的设计也持续被讨论并改进。比如 [Opaque Result Types](https://github.com/apple/swift-evolution/blob/master/proposals/0244-opaque-result-types.md)、[Unlock existentials for all protocols](https://github.com/apple/swift-evolution/blob/main/proposals/0309-unlock-existential-types-for-all-protocols.md)。
+
+本文从一个简单例子对比范型及类型擦除如何应用及二者内部实现的不同,帮助大家加深理解:
+- 静态 vs 动态
+- 编译器生成模板代码 vs 通过 Existential Container 隐藏类型
+
+### 🐎 [Type placeholders in Swift](https://www.swiftbysundell.com/articles/type-placeholders-in-swift/)
+
+[@anotheren](https://github.com/anotheren):Swift 5.6 中引入了 **Type Placeholders** 来进一步优化类型推断,允许使用 `_` 来让编译器自动推断类型,对于例如 `CurrentValueSubject