diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index c7623d1cf..000000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.* linguist-language=Swift
\ No newline at end of file
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/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245.md" "b/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245.md"
new file mode 100644
index 000000000..0ba1e2a95
--- /dev/null
+++ "b/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245.md"
@@ -0,0 +1,63 @@
+# 老司机技术周报
+
+
+
+老司机技术周报是一个由移动端技术爱好者组成的公益技术团体。经过近 4 年发展,编辑组已经聚集了 38 位 iOS 圈内一线开发者,成员来自各个城市,涵盖了互联网行业的各个头部企业。我们致力于在信息爆炸的时代将真正有价值的内容输送给读者,为社区发展注入一点活力,曾联合 SwiftGG 和知识小集等一起组织了近 4 年的《WWDC 内参》活动,GitHub、公众号和掘金等平台均拥有广大的读者群体,2018 年至今共发布周报 160 余期,各个渠道累计阅读量达 500 多万次,同时运营有总共超过 2500 多人的微信读者群。
+
+## 周报
+
+每周一期推荐优质内容的期刊是我们的核心内容,从 2018 年 1 月 1 号开始,至今已经发布 166 期。分发的平台不限制于 GitHub、公众号、微博、RSS、掘金和 CSDN 等。全平台累计阅读量达到 500 多万次,深受国内粉丝的喜爱,也与许多国内头部开发者保持着良好的关系。
+
+## 线下沙龙
+
+2021 年,我们组织了两场超百人规模的线下沙龙活动,活动均是免费参与,不仅邀请了国内外优秀开发者来做主题分享,并且为到场的开发者朋友准备了精美伴手礼和茶歇。
+
+### WWDC21.T 沙龙 - 杭州场(7.3,阿里巴巴西溪园区)
+
+杭州场我们联合了阿里巴巴淘系技术团队共同主办了这次活动,总共放出 200 张免费门票,均是当天内售罄。现场实际到达 170 多位开发者朋友,我们进行了 4 场线下分享和 2 场线上分享。
+
+
+
+
+
+
+
+更多现场照片:https://www.dropbox.com/sh/oychqg41nwvrj6s/AAC1BJfCshRSWNtPhCbhwJRpa?dl=0
+分享主题与嘉宾介绍:https://mp.weixin.qq.com/s/7NnD0Co2Xd9WPk61yO1aHQ
+录像及 slide(更新中):https://wudnh5f9ky.feishu.cn/drive/folder/fldcn6BBmquvtnUf7fKjKnaZBTf
+
+### WWDC21.T 沙龙 - 上海场(7.10,字节音乐上海部)
+
+上海场我们找到了字节音乐技术团队联合主办线下沙龙,总共放出了 160 张门票,几乎在半小时内就售罄了,并不断在后台收到读者朋友要求增加门票。现场实际到达约 120 多人。同样是 4 场线下分享(每个城市不同)和 2 场线上分享。
+
+
+
+
+
+
+
+分享主题与嘉宾介绍:https://mp.weixin.qq.com/s/-bRXpilEk4PRraOc7ZWELQ
+录像及 slide(更新中):https://wudnh5f9ky.feishu.cn/drive/folder/fldcn6BBmquvtnUf7fKjKnaZBTf
+
+## WWDC 内参系列活动
+
+从 2017 年开始,为了和社区开发者一起享受这场 iOS 圈的 WWDC 技术盛宴,老司机技术周报开始组织 WWDC 内参系列活动,累计已有上万的读者订阅。我们会组织业内的优秀开发者针对 WWDC 中的 Session 进行学习和实践,并将他们的学习成果写成技术文章分享出来。所有人都是基于兴趣出发来参与这个活动,因而早期内参的发布是完全免费的。但根据我们很长一段时间的读者反馈来看,免费发布这样的形式虽然说门槛低了,但同样导致了很多读者订阅之后并没有很认真地来看我们的内容。于是我们在最近几年的内参的发布策略调整为了设置一定的门槛价格,来引导读者来付费重视,而在发布一年后再免费发给读者。
+
+WWDC 21 我们尝试了全新的创作者参与机制,由原来的邀请参与变为了公开募集,并引入多人审核机制来把控内容质量。今年总计吸引了 200 多名开发者共同参与到内参活动中,大家一起编写和审核文章内容,预计将产出超过 100 篇的高质量精华文章。现在正在活动宣传期,已经有超过 2400 多读者订阅。我们承诺内参活动所有所得收入,除了活动宣传的部分开销外,我们会按内容质量全部用于给参与者稿费,并且老司机技术周报也会单独拿经费给参与者赠送活动纪念品等。
+
+- WWDC 17:https://xiaozhuanlan.com/wwdc17
+- WWDC 18(与掘金社区合作):https://juejin.cn/post/6844903618823340040
+- WWDC 18:https://xiaozhuanlan.com/wwdc18
+- WWDC 19:https://xiaozhuanlan.com/wwdc19
+- WWDC 20:https://xiaozhuanlan.com/wwdc20
+- WWDC 21:https://xiaozhuanlan.com/wwdc21
+
+## 其他内容
+
+除了周报、线下沙龙以及内参活动外,我们还会不定期地向业内的优秀开发者约稿,鼓励大家进行原创优秀博文;另外针对很多读者感兴趣的话题,我们也会不定期组织周报编辑一起热议,并将结果输出给社区。
+
+## 渠道
+
+GitHub:https://github.com/SwiftOldDriver/iOS-Weekly
+RSS:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom
+公众号、掘金等全网平台:老司机技术周报
diff --git "a/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245\347\262\276\345\223\201.md" "b/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245\347\262\276\345\223\201.md"
new file mode 100644
index 000000000..79e52fe93
--- /dev/null
+++ "b/Posts/\350\200\201\345\217\270\346\234\272\346\212\200\346\234\257\345\221\250\346\212\245\347\262\276\345\223\201.md"
@@ -0,0 +1,79 @@
+# 老司机技术周报
+
+
+
+## WWDC 内参
+
+- WWDC 17:https://xiaozhuanlan.com/wwdc17
+- WWDC 18(与掘金社区合作):https://juejin.cn/post/6844903618823340040
+- WWDC 18:https://xiaozhuanlan.com/wwdc18
+- WWDC 19:https://xiaozhuanlan.com/wwdc19
+- WWDC 20:https://xiaozhuanlan.com/wwdc20
+- WWDC 21:https://xiaozhuanlan.com/wwdc21
+
+## 技术沙龙
+
+### [淘系技术](http://t.cn/A6IZpL06)
+
+淘宝工程渐进式拥抱 Swift
+- 视频:https://mp.weixin.qq.com/s/67TM_ljN_OH96TroyUFGFA
+- 文字版本:https://mp.weixin.qq.com/s/T8iwgSk1MiB3Xg9CGzgYbw
+- PPT:https://github.com/SwiftOldDriver/PPT/blob/main/%E6%89%8B%E6%B7%98%E5%B7%A5%E7%A8%8B%E6%B8%90%E8%BF%9B%E5%BC%8F%E6%8B%A5%E6%8A%B1Swift%20-%20%E5%80%BE%E5%AF%92.pdf
+
+西瓜视频的 IAP 支付实践与 StoreKit 新特性
+- 视频:https://mp.weixin.qq.com/s/GWSBYEPB5bjjEAkxNEXWoQ
+- 文字版本:https://mp.weixin.qq.com/s/XGj95MLg4HWU6dhuqGdEOg
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E2%BB%84%E7%93%9C%E8%A7%86%E9%A2%91%E7%9A%84IAP%E6%94%AF%E4%BB%98%E5%AE%9E%E8%B7%B5%20%E4%B8%8EStoreKit%E6%96%B0%E7%89%B9%E6%80%A7%20-%20%E9%BB%84%E9%AA%8B%E5%BF%97.pdf
+
+Flutter 混编工程的模块化架构设计实践
+- 视频:https://mp.weixin.qq.com/s/ciztZLEH-ZrDgAamjvZuOg
+- 文字版本:https://mp.weixin.qq.com/s/A2gYRPJ0u8TVXZyMtEArlA
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/Flutter%E6%B7%B7%E7%BC%96%E5%B7%A5%E7%A8%8B%E7%9A%84%E6%A8%A1%E5%9D%97%E5%8C%96%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5-%20Jackie.pdf
+
+抖音智能创作如何做防劣化
+- 现场:https://mp.weixin.qq.com/s/PV9mcPZnPNY-OtUxKfraLQ
+- 文字版本:https://mp.weixin.qq.com/s/_c3y9KnbKS6VnqTb0AKRWg
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E6%8A%96%E9%9F%B3%E5%88%9B%E4%BD%9C%E5%B7%A5%E5%85%B7%E9%98%B2%E5%8A%A3%E5%8C%96%E5%AE%9E%E8%B7%B5%20-%20Crespo.pdf
+
+### [字节音乐](http://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247491558&idx=1&sn=4ca4f3a9c1eb31f5052272e2649cbd6f&chksm=eaa280edddd509fbe6af2f3fa7d5a2800c01d054257e0ef8ed63bb0705155c517d7bcfe5e19c&token=1167868960&lang=zh_CN#rd)
+
+Async and Await in Swift 5.5
+- 现场视频:https://mp.weixin.qq.com/s/Yu9eQywcPiZgNME4y5sXfw
+- 文字整理版:https://mp.weixin.qq.com/s/DopuYyy479eSjgns3iaWaw
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E9%BB%84%E6%99%BA%E6%9D%B0%20-%20Advanced%20Property%20Wrapper%20in%20Swift.pdf
+
+From Idea To Product
+- 现场视频:https://mp.weixin.qq.com/s/tFpxHTnGY7DgDN60gWON3g
+- 文字整理版:https://mp.weixin.qq.com/s/TZHrFOU65iG7QQwP8b96-w
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/Roc%20Zhang%20-%20From%20Idea%20to%20Product.pdf
+
+Advanced Property Wrapper in Swift
+- 现场视频:https://mp.weixin.qq.com/s/4drAztYJR3Cte1z5qVi_vg
+- 文字整理版:https://mp.weixin.qq.com/s/psgRgIZlVDtIeQeDmUmXOw
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E9%BB%84%E6%99%BA%E6%9D%B0%20-%20Advanced%20Property%20Wrapper%20in%20Swift.pdf
+
+基于 Bazel 的 iOS MonoRepo
+- 文字整理版:https://mp.weixin.qq.com/s/zFrKoHPBv3qz8TiwdqP8Fw
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E5%BC%A0%E5%BF%BB%E6%AD%A3%20-%20%E5%9F%BA%E4%BA%8E%20Bazel%E7%9A%84%20iOS%20MonoRepo%20%E5%AE%9E%E8%B7%B5.pdf
+
+### [得物技术](http://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247492047&idx=1&sn=dbdf8bb3f6cb8746fcaeb41ccfb40a60&chksm=eaa17ec4ddd6f7d2074a9caa01a24edfcd160c0e22c1e9bfb62f3e75721bbca55f81fbb6cd95&token=1167868960&lang=zh_CN#rd)
+
+得物 iOS 工程演进之路
+- 现场视频:
+ - 上 https://mp.weixin.qq.com/s/bl7DgIv5ICX7hBXF26Q2zA
+ - 下 https://mp.weixin.qq.com/s/o-gRZZzQBdP33EhFZh2_Ow
+- 文字整理版:https://mp.weixin.qq.com/s/Lr6tDxacQKGZ19cKdmNg1w
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/Casa%20-%20%E5%BE%97%E7%89%A9iOS%E5%B7%A5%E7%A8%8B%E6%BC%94%E8%BF%9B%E4%B9%8B%E8%B7%AF.pdf
+
+字节跳动移动研发工具链 - MBox
+- 现场视频:https://mp.weixin.qq.com/s/-oGRc22gkk-HVHUA7hBVpg
+- 文字整理版:https://mp.weixin.qq.com/s/OD2lYfA9tkdgEp4QGRtdog
+- PPT: https://github.com/SwiftOldDriver/PPT/blob/main/%E6%9D%8E%E5%B0%A7%20-%20%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E7%A7%BB%E5%8A%A8%E7%A0%94%E5%8F%91%E5%B7%A5%E5%85%B7%E9%93%BEMBox.pdf
+
+基于 MNN 的端侧 AI 实践
+- 现场视频:https://mp.weixin.qq.com/s/I8Vq7h3ODnWt81NM13onmw
+- PPT:https://github.com/SwiftOldDriver/PPT/blob/main/%E4%BA%94%E5%AD%90%E6%A3%8B%20-%20%E5%9F%BA%E4%BA%8E%20MNN%20%E7%9A%84%E7%AB%AF%E4%BE%A7%20AI%20%E5%AE%9E%E8%B7%B5.pdf
+
+视频特效揭秘
+- 现场视频:https://mp.weixin.qq.com/s/EGFi0A21tzB6XMlDimlFUQ
+- PPT:https://github.com/SwiftOldDriver/PPT/blob/main/Matrix%20-%20%E8%A7%86%E9%A2%91%E7%89%B9%E6%95%88%E6%8F%AD%E7%A7%98.pdf
diff --git a/README.md b/README.md
index d53eb5763..2cc9916c7 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) 提出。
-## 支持我们:[WWDC20 内参](https://xiaozhuanlan.com/wwdc20)
+## 支持我们:[WWDC24 内参](https://xiaozhuanlan.com/wwdc23)
-一年一度的 WWDC 又来啦!今年一共会有 135 个 Sessions 内容,我们将集结老司机 iOS 周报、知识小集和SwiftGG 翻译组三大组织内的一线 iOS 工程师,为你深度解读 WWDC20 中那些值得关注的 Session。
+**WWDC24 内参** 目前已经更新了 21 篇内容,并且我们今年做出了一个重大改变,关注老司机技术公众号并回复 ``2024`` 可以免费领取,后续也会在公众号上定期推送对应内容。
+
+**WWDC 内参** 系列是由「老司机技术」牵头组织的精品原创内容系列。已经做了几年了,口碑一直不错。和往年不同,今年几乎没有脱水稿了,得益于组建的审核团队和不断优化的创作流程,大家创作的内容都已经超越了视频本身的内容,非常有学习和参考意义。
+
+> 双审核机制:一位审核从专业性角度看内容是否正确,另外一位审核从读者角度看知识是否正确引导。
## 订阅周报
@@ -29,15 +33,15 @@
#### 轮值主编
#### 现任编辑
@@ -55,15 +59,9 @@
-
-
-
-
-
-
@@ -76,9 +74,6 @@
-
-
-
@@ -94,9 +89,6 @@
-
-
-
@@ -109,9 +101,6 @@
-
-
-
@@ -124,6 +113,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#### 荣誉编辑
@@ -150,8 +170,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 关于我们
+
+老司机技术周报是一个由移动端技术爱好者组成的团体,致力于在信息爆炸的时代将真正有价值的内容输送给读者。我们曾联合 SwiftGG 和知识小集等一起组织了近 4 年的《WWDC 内参》活动,GitHub、公众号和掘金等平台均拥有广大的读者群体,2018 年至今共发布 180 余期,各个渠道累计周报的阅读量达 500 多万次。
## 其他
@@ -159,8 +197,6 @@
## 赞助者
-[Woodpecker](https://apps.apple.com/cn/app/woodpecker/id1333548463?mt=12): iOS开发辅助工具,提供沙盒文件、UserDefaults、视图层级在线查看和编辑等功能,在工作中能极大提升开发效率,Mac App Store免费下载!
-
**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
## 协议
diff --git a/Report template.md b/Report template.md
index 59570ff2c..4f7ff3747 100644
--- a/Report template.md
+++ b/Report template.md
@@ -1,6 +1,6 @@
-# 老司机 iOS 周报 #1 | 2020-03-25
+# 老司机 iOS 周报 #319 | 2025-01-06
-
+
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
@@ -9,6 +9,10 @@
> 行业相关的新闻、趣事、看法
+## Developer - 设计开发加速器
+
+> 设计开发加速器相关活动
+
## 新手推荐
> 收集一些对新手友好且质量不错的文章
@@ -33,25 +37,17 @@
> 比较不错的书的推荐和书评
-## 赞助者
-
-虚位以待..
-
-**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
-
## 内推
-老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
-
-如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
-如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
-
-当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
## 关注我们
-我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
+
+**关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参**

diff --git a/Reports/#1.md b/Reports/2018/#1.md
similarity index 100%
rename from Reports/#1.md
rename to Reports/2018/#1.md
diff --git a/Reports/#10.md b/Reports/2018/#10.md
similarity index 100%
rename from Reports/#10.md
rename to Reports/2018/#10.md
diff --git a/Reports/#11.md b/Reports/2018/#11.md
similarity index 100%
rename from Reports/#11.md
rename to Reports/2018/#11.md
diff --git a/Reports/#12-2018.03.25.md b/Reports/2018/#12-2018.03.25.md
similarity index 100%
rename from Reports/#12-2018.03.25.md
rename to Reports/2018/#12-2018.03.25.md
diff --git a/Reports/#13-2018.03.31.md b/Reports/2018/#13-2018.03.31.md
similarity index 100%
rename from Reports/#13-2018.03.31.md
rename to Reports/2018/#13-2018.03.31.md
diff --git a/Reports/#14-2018.04.09.md b/Reports/2018/#14-2018.04.09.md
similarity index 100%
rename from Reports/#14-2018.04.09.md
rename to Reports/2018/#14-2018.04.09.md
diff --git a/Reports/#15-2018.04.16.md b/Reports/2018/#15-2018.04.16.md
similarity index 100%
rename from Reports/#15-2018.04.16.md
rename to Reports/2018/#15-2018.04.16.md
diff --git a/Reports/#16-2018.04.21.md b/Reports/2018/#16-2018.04.21.md
similarity index 100%
rename from Reports/#16-2018.04.21.md
rename to Reports/2018/#16-2018.04.21.md
diff --git a/Reports/#17-2018.05.02.md b/Reports/2018/#17-2018.05.02.md
similarity index 100%
rename from Reports/#17-2018.05.02.md
rename to Reports/2018/#17-2018.05.02.md
diff --git a/Reports/#18-2018.05.07.md b/Reports/2018/#18-2018.05.07.md
similarity index 100%
rename from Reports/#18-2018.05.07.md
rename to Reports/2018/#18-2018.05.07.md
diff --git a/Reports/#19-2018.05.14.md b/Reports/2018/#19-2018.05.14.md
similarity index 100%
rename from Reports/#19-2018.05.14.md
rename to Reports/2018/#19-2018.05.14.md
diff --git a/Reports/#2.md b/Reports/2018/#2.md
similarity index 100%
rename from Reports/#2.md
rename to Reports/2018/#2.md
diff --git a/Reports/#20-2018.05.21.md b/Reports/2018/#20-2018.05.21.md
similarity index 100%
rename from Reports/#20-2018.05.21.md
rename to Reports/2018/#20-2018.05.21.md
diff --git a/Reports/#21-2018.05.28.md b/Reports/2018/#21-2018.05.28.md
similarity index 100%
rename from Reports/#21-2018.05.28.md
rename to Reports/2018/#21-2018.05.28.md
diff --git a/Reports/#22-2018.06.04.md b/Reports/2018/#22-2018.06.04.md
similarity index 100%
rename from Reports/#22-2018.06.04.md
rename to Reports/2018/#22-2018.06.04.md
diff --git a/Reports/#23-2018.06.18.md b/Reports/2018/#23-2018.06.18.md
similarity index 100%
rename from Reports/#23-2018.06.18.md
rename to Reports/2018/#23-2018.06.18.md
diff --git a/Reports/#24-2018.06.25.md b/Reports/2018/#24-2018.06.25.md
similarity index 100%
rename from Reports/#24-2018.06.25.md
rename to Reports/2018/#24-2018.06.25.md
diff --git a/Reports/#25-2018.07.02.md b/Reports/2018/#25-2018.07.02.md
similarity index 100%
rename from Reports/#25-2018.07.02.md
rename to Reports/2018/#25-2018.07.02.md
diff --git a/Reports/#26-2018.07.09.md b/Reports/2018/#26-2018.07.09.md
similarity index 100%
rename from Reports/#26-2018.07.09.md
rename to Reports/2018/#26-2018.07.09.md
diff --git a/Reports/#27-2018.07.16.md b/Reports/2018/#27-2018.07.16.md
similarity index 100%
rename from Reports/#27-2018.07.16.md
rename to Reports/2018/#27-2018.07.16.md
diff --git a/Reports/#28-2018.07.23.md b/Reports/2018/#28-2018.07.23.md
similarity index 100%
rename from Reports/#28-2018.07.23.md
rename to Reports/2018/#28-2018.07.23.md
diff --git a/Reports/#29-2018.07.30.md b/Reports/2018/#29-2018.07.30.md
similarity index 100%
rename from Reports/#29-2018.07.30.md
rename to Reports/2018/#29-2018.07.30.md
diff --git a/Reports/#3.md b/Reports/2018/#3.md
similarity index 100%
rename from Reports/#3.md
rename to Reports/2018/#3.md
diff --git a/Reports/#30-2018.08.06.md b/Reports/2018/#30-2018.08.06.md
similarity index 100%
rename from Reports/#30-2018.08.06.md
rename to Reports/2018/#30-2018.08.06.md
diff --git a/Reports/#31-2018.08.13.md b/Reports/2018/#31-2018.08.13.md
similarity index 100%
rename from Reports/#31-2018.08.13.md
rename to Reports/2018/#31-2018.08.13.md
diff --git a/Reports/#32-2018.08.20.md b/Reports/2018/#32-2018.08.20.md
similarity index 100%
rename from Reports/#32-2018.08.20.md
rename to Reports/2018/#32-2018.08.20.md
diff --git a/Reports/#33-2018.08.27.md b/Reports/2018/#33-2018.08.27.md
similarity index 100%
rename from Reports/#33-2018.08.27.md
rename to Reports/2018/#33-2018.08.27.md
diff --git a/Reports/#34-2018.09.03.md b/Reports/2018/#34-2018.09.03.md
similarity index 100%
rename from Reports/#34-2018.09.03.md
rename to Reports/2018/#34-2018.09.03.md
diff --git a/Reports/#35-2018.09.10.md b/Reports/2018/#35-2018.09.10.md
similarity index 100%
rename from Reports/#35-2018.09.10.md
rename to Reports/2018/#35-2018.09.10.md
diff --git a/Reports/#36-2018.09.17.md b/Reports/2018/#36-2018.09.17.md
similarity index 100%
rename from Reports/#36-2018.09.17.md
rename to Reports/2018/#36-2018.09.17.md
diff --git a/Reports/#37-2018.09.24.md b/Reports/2018/#37-2018.09.24.md
similarity index 100%
rename from Reports/#37-2018.09.24.md
rename to Reports/2018/#37-2018.09.24.md
diff --git a/Reports/#38-2018.10.08.md b/Reports/2018/#38-2018.10.08.md
similarity index 100%
rename from Reports/#38-2018.10.08.md
rename to Reports/2018/#38-2018.10.08.md
diff --git a/Reports/#39-2018.10.15.md b/Reports/2018/#39-2018.10.15.md
similarity index 100%
rename from Reports/#39-2018.10.15.md
rename to Reports/2018/#39-2018.10.15.md
diff --git a/Reports/#4.md b/Reports/2018/#4.md
similarity index 100%
rename from Reports/#4.md
rename to Reports/2018/#4.md
diff --git a/Reports/#40-2018.10.22.md b/Reports/2018/#40-2018.10.22.md
similarity index 100%
rename from Reports/#40-2018.10.22.md
rename to Reports/2018/#40-2018.10.22.md
diff --git a/Reports/#41-2018.10.29.md b/Reports/2018/#41-2018.10.29.md
similarity index 100%
rename from Reports/#41-2018.10.29.md
rename to Reports/2018/#41-2018.10.29.md
diff --git a/Reports/#42-2018.11.05.md b/Reports/2018/#42-2018.11.05.md
similarity index 100%
rename from Reports/#42-2018.11.05.md
rename to Reports/2018/#42-2018.11.05.md
diff --git a/Reports/#43-2018.11.12.md b/Reports/2018/#43-2018.11.12.md
similarity index 100%
rename from Reports/#43-2018.11.12.md
rename to Reports/2018/#43-2018.11.12.md
diff --git a/Reports/#44-2018.11.19.md b/Reports/2018/#44-2018.11.19.md
similarity index 100%
rename from Reports/#44-2018.11.19.md
rename to Reports/2018/#44-2018.11.19.md
diff --git a/Reports/#45-2018.11.26.md b/Reports/2018/#45-2018.11.26.md
similarity index 100%
rename from Reports/#45-2018.11.26.md
rename to Reports/2018/#45-2018.11.26.md
diff --git a/Reports/#46-2018.12.03.md b/Reports/2018/#46-2018.12.03.md
similarity index 100%
rename from Reports/#46-2018.12.03.md
rename to Reports/2018/#46-2018.12.03.md
diff --git a/Reports/#47-2018.12.10.md b/Reports/2018/#47-2018.12.10.md
similarity index 100%
rename from Reports/#47-2018.12.10.md
rename to Reports/2018/#47-2018.12.10.md
diff --git a/Reports/#48-2018.12.17.md b/Reports/2018/#48-2018.12.17.md
similarity index 100%
rename from Reports/#48-2018.12.17.md
rename to Reports/2018/#48-2018.12.17.md
diff --git a/Reports/#49-2018.12.24.md b/Reports/2018/#49-2018.12.24.md
similarity index 100%
rename from Reports/#49-2018.12.24.md
rename to Reports/2018/#49-2018.12.24.md
diff --git a/Reports/#5.md b/Reports/2018/#5.md
similarity index 100%
rename from Reports/#5.md
rename to Reports/2018/#5.md
diff --git a/Reports/#6.md b/Reports/2018/#6.md
similarity index 100%
rename from Reports/#6.md
rename to Reports/2018/#6.md
diff --git a/Reports/#7.md b/Reports/2018/#7.md
similarity index 100%
rename from Reports/#7.md
rename to Reports/2018/#7.md
diff --git a/Reports/#8.md b/Reports/2018/#8.md
similarity index 100%
rename from Reports/#8.md
rename to Reports/2018/#8.md
diff --git a/Reports/#9.md b/Reports/2018/#9.md
similarity index 100%
rename from Reports/#9.md
rename to Reports/2018/#9.md
diff --git a/Reports/2020/#133-2020.10.26.md b/Reports/2020/#133-2020.10.26.md
index ddaf074d6..bbd1c86c0 100644
--- a/Reports/2020/#133-2020.10.26.md
+++ b/Reports/2020/#133-2020.10.26.md
@@ -41,7 +41,7 @@
[@xiaofei86](https://weibo.com/xuyafei86):在最近的 Swift 版本中,我们已经看到了一系列新的 attributes,如 @unknown,@propertyWrapper,@main 等。在这篇文章中,作者将带领我们了解一个少为人知的,但同样有用的旧有属性 @warn_unqualified_access。其在 Swift 2 中悄悄引入,用来帮助我们消除调用顶级函数、静态方法、实例方法时的歧义。感兴趣的同学可以详细阅读。
-### 🐕 [自研 iOS 热更新机制——OCPack 技术方案总结](https://juejin.im/post/6884833291740905480)
+### 🐕 [自研 iOS 热更新机制——OCPack 技术方案总结](https://mp.weixin.qq.com/s/x7c5mHJINcWpGCuHPDNNPw)
[@J_Knight_](https://github.com/knightsj):本文分享了一种在 iOS 平台上的 App 动态化技术方案:OCPack。OCPack 提供的工具链可以将 .m 文件生成 .bin 格式的 patch 文件,该文件可以在一个基于 Native 环境的虚拟栈机加载并执行,从而达到动态化更新的效果。作者从编译模块、汇编模块、加载模块和执行模块来分别讲解了 OCPack 方案的实现方式,同时也介绍了该方案的优势和未来的迭代计划。
diff --git a/Reports/2020/#135-2020.11.09.md b/Reports/2020/#135-2020.11.09.md
index 3f0224daa..6fd51dcdb 100644
--- a/Reports/2020/#135-2020.11.09.md
+++ b/Reports/2020/#135-2020.11.09.md
@@ -55,7 +55,7 @@ cocoapods-imy-bin 特征:
## 工具
-### [ImportSanitizer](https://github.com/SketchK/import-sanitizer)
+### [ImportSanitizer](https://github.com/SketchK/ImportSanitizer)
在 iOS 开发中,我们常常会看到各种引入头文件的方式,往往这些方式都可以正常编译和运行。但其实一些非标准的写法可能会导致项目的 `search path` 变得冗长,也有可能导致编译不过。ImportSanitizer 是一款能够帮助开发者自动修复工程头文件引用方式的 CLI 工具,它非常简单易用,想排查下工程头文件引入问题的同学可以使用试试。
diff --git a/Reports/2020/#137-2020.11.23.md b/Reports/2020/#137-2020.11.23.md
index 789df51d4..fa1d63f8d 100644
--- a/Reports/2020/#137-2020.11.23.md
+++ b/Reports/2020/#137-2020.11.23.md
@@ -5,33 +5,66 @@
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+## WWDC20
+
+本周在周报公众号上我们推送了 4 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [使用 Metal 技术驾驭 Apple 图形处理器](https://mp.weixin.qq.com/s/k-4xTRtKAjHuiRiTPiN0rw)
+- [在 Apple Silicon 上优化你的 Metal 应用程序](https://mp.weixin.qq.com/s/rT8XcPUAvVdfXTleGw--jA)
+- [iOS 性能优化: 如何让使用 XCode Debugger 优化 Metal App](https://mp.weixin.qq.com/s/HU7F6o-ratWC8ehfDIrORg)
+- [国际化适配:使用 Xcode 构建助于本地化的布局](https://mp.weixin.qq.com/s/9iUNek72jZoqNJVLbPViVw)
+
## 新闻
-> 行业相关的新闻、趣事、看法
+### [Apple 宣布推出 App Store 小型企业计划](https://www.apple.com.cn/newsroom/2020/11/apple-announces-app-store-small-business-program/)
-## 新手推荐
+[@JonyFang](https://github.com/JonyFang):苹果宣布推出 App Store 小型企业计划,新计划针对每年营收 100 万美元以下的小型企业,将 App Store 佣金降至 15%,该计划将于 2021 年 1 月 1 日正式启动。
-> 收集一些对新手友好且质量不错的文章
+### [订阅优惠代码现已推出](https://developer.apple.com/cn/news/?id=g20wyc9c)
+
+[@Parsifal](https://github.com/ParsifalC):苹果对于自己的订阅服务新增的一项服务。优惠代码是一组独特的、由数字和字母构成的编码,用于为自动续期订阅提供折扣价格或免费优惠。使用 iOS 14 和 iPadOS 14 + 的用户可以在 App Store 或 App 内使用优惠代码兑换功能。
## 文章
-> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
+### 🌟 🐕 [淘宝直播“一猜到底”——移动端实时语音识别技术方案及应用](https://mp.weixin.qq.com/s/jX7utUnk0BOnu7cVnjNe1w)
-## 工具
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):淘宝直播 App 在今年双十一推出了「一猜到底」的直播答题新玩法,这个游戏的核心是用户的报价能否快速且正确的被识别。庞大数量的用户同时进行语音请求对服务压力和服务质量都是非常大的挑战。本文详细讲述了阿里内部多个团队,是如何在通力协作下,利用端智能 [MNN](https://github.com/alibaba/MNN) 深度学习框架实现工业界首个用于直播的移动端语音识别的。
-> 开发过程中常用的工具,及一些新工具的介绍
+### 🐎 [新版 Mac 终于到货了!anandtech 最新 M1 芯片评测出炉](https://mp.weixin.qq.com/s/6RmvttZasIBDSki-ieENeg)
-## 代码
+[@Parsifal](https://github.com/ParsifalC):过去一周关于苹果最火的话题无疑是围绕着搭载 M1 芯片的 MacBook 和 Mac Mini 系列。这是一篇很硬核和专业的评测文,测评结果显示,M1 的内存带宽优于苹果此前的 A14 芯片,CPU 单线程、多线程性能都非常优秀,GPU 足以称霸集显,甚至可以媲美独显。有媒体表示苹果自己都未曾想到 M1 会强悍至此,更有朋友调侃到有生之年也能见到 MacBook 开始讲性价比了,库克此时若喊出“还有谁!”想必也是底气十足~
+
+### 🐕 [手淘双11最新实践:PopLayer 弹层领域研发模式升级](https://mp.weixin.qq.com/s/yYsWHv0kq7HK54e1kPBprw)
+
+[@老峰](https://www.github.com/gesantung):在精细化流量运营的今天,弹层作为一个可以带来高流量的强运营手段,已经从低频需求,变成了面向各类人群投放的高频需求,尤其在 2C 的研发需求中,我们经常会有各种活动弹窗紧急需求,但业务往往会遇到开发弹层难、慢,时间又很急的情况。
+
+手淘技术团队在本文中分享了一套快速搭建+可视化+多端多场景通用的 PopLayer 解决方案,具体介绍了搭投模式业务背景,架构,整体设计,包括可视化 IDE、运行时解析引擎 、ServerLess 等相关建设,感兴趣的同学不容错过。
+
+### 🐕 [UIView 动画降帧探究](https://juejin.cn/post/6896372391388119053)
-> 库,代码段,开源app
+[@EyreFree](https://www.github.com/EyreFree):众所周知,iOS App 的刷新频率越接近越 60 FPS 越好。但是另一方面,我们也知道动画渲染的过程中需要消耗大量的 GPU 资源,所以给动画降帧则可以给 GPU 减负,降低 GPU 使用率峰值。在动画不复杂但是数量很多的情况下,给动画降帧并不会影响动画效果,此时降帧就能累计节约大量的 GPU 性能。本文介绍了作者基于 UIView animation block + UIViewAnimationOptionPreferredFramesPerSecond30 属性进行动画降帧的方案,可以较少改动代码而实现降帧的目的,有相应需求的同学不要错过。
-## 书
+### 🐕 [实现 Native 异步回调 Flutter](http://yulingtianxia.com/blog/2020/10/25/Asynchronous-Callback-for-Flutter/)
-> 比较不错的书的推荐和书评
+[@极速男孩](https://github.com/ztlyyznf001):Dart 和原生交互有多重选择,包括 channel ,阿里的 FlutterBoost,本文主要介绍了杨萧玉的 DartNative 是如何首先通过 DartFFI 和 libFFI 来实现 Native 和 dart 之间函数的绑定,然后通过 Port 相关的 API 来实现 OC 和 Dart 之间方法的相互调用,这样可以实现一些通过 channel 无法实现的,如 block, NSNotification 这类的方法。
+
+## 代码
+
+### [doesitarm](https://github.com/ThatGuySam/doesitarm)
+
+[@红纸](http://github.com/nianran):伴随着 M1 芯片的发布,Mac 软件适配也在同步进行,不少开发者协同整理了一份支持 ARM 架构的 APP 列表供大家参考。
## 音视频
-> 比较不错的书的推荐和书评
+### 🌟 🐕 [Discover Metal enhancements for A14 Bionic - Tech Talks - Videos - Apple Developer](https://developer.apple.com/videos/play/tech-talks/10858)
+
+[@莲叔](http://aaaron7.github.io/):近期随着苹果新 air 的评测陆续放出来,M1 芯片可谓赚足的眼球。看回移动端,iPhone 12 系列的 A14 仿生芯片也有了非常强劲的升级。这个视频是苹果工程师分享的 A14 芯片中的 GPU 能力升级,非常值得一看。因为其中的技术不仅仅只是苹果一些新特性,更是代表了未来图形渲染技术的发展方向。
+
+视频主要包含了四个部分:新的 shader 结构:重心坐标(barycentric coordinate)和形状 Id(primitive id), 新的纹理贴图模式,以及新的 SIMD batch 操作指令,新的 SIMD 矩阵乘法指令等。其中最有趣的是第一部分,我们都知道 Metal 相较于 OpenGL 最大的升级就是实现里的延迟渲染,让光照可以在 Fragment Shader 阶段之后来进行,以支撑更复杂的光线跟踪。通过 A14 新的 barycentric coordinate 和 primitive id 技术,可以让 Fragment Shader 产生 的 G-Buffer 进一步缩小为 Visibility Buffer,之后在光线跟踪的阶段重建出 Draw State 进行材质贴图和光照跟踪。相比之前的流程,大幅减少了复杂场景下的计算量。看下来感觉还是很激动人心的,喜欢渲染技术的同学不容错过。
+
+### 🐢 [Explore Live GPU Profiling with Metal Counters](https://developer.apple.com/videos/play/tech-talks/10001)
+
+[@老驴](https://www.weibo.com/6090610445):在 macOS Big Sur 和 iOS 14 中,苹果新引入了 Metal Counters API 让开发者对 GPU 性能进行实时在线性能分析。此 API 提供了非常底层的运行时 GPU 性能信息,而这些数据在之前的版本中,都只能从 Xcode 或者 Instruments 中做离线分析。这对于开发者来说无疑是个非常大的改进,而善用这个 API 也可以更好的为你的 App 性能优化,给出更加精准的思路。
## 赞助者
diff --git a/Reports/2020/#138-2020.11.30.md b/Reports/2020/#138-2020.11.30.md
new file mode 100644
index 000000000..dd5c1e503
--- /dev/null
+++ b/Reports/2020/#138-2020.11.30.md
@@ -0,0 +1,104 @@
+# 老司机 iOS 周报 #138| 2020-11-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [端智能:使用 Create ML 打造图片和视频的风格转化模型](https://mp.weixin.qq.com/s/oIVvGleWyHi7X38uFULRjA)
+- [端智能:用 Create ML 打造智能运动 App](https://mp.weixin.qq.com/s/pzbxLL03Sq3IXKQRCQohKg)
+
+## 新闻
+
+### [App Store Connect 放假安排:12月23日-27日 ](https://developer.apple.com/cn/news/?id=83m4plrb)
+
+[@Parsifal](https://github.com/ParsifalC):请确保您的 App 为最新版本,以准备迎接假期。App Store Connect 在12月23日至27日(太平洋时间)期间不接受新 App 和 App 更新,因此请提前处理任何与发布相关的计划、提交和审批事宜。其他 App Store Connect 功能将不受影响。
+
+## 文章
+
+### 🌟 🐕 [iOS AOP 方案的对比与思考](https://mp.weixin.qq.com/s/5JhbX4McMifFpZ7NyztIQw)
+
+[@Damien](https://github.com/ZengyiMa):AOP 意为面向切面的编程方式,在不修改源代码的情况下,给程序动态统一添加功能的技术。本文详细的介绍了目前 iOS 的各项 AOP 方案(Method Swizzle, Aspects, MPSwizzler, ISA-swizzle KVO, Fishhook, Thunk, Clang 插桩)的原理实现、使用场景以及问题缺陷。让我们的工具箱又多出了一些可供选择,同时进一步加深对静态和动态语言的理解,也对程序从静态到动态整个过程理解更加深入。
+
+### 🐕 [UME - 丰富的 Flutter 调试工具](https://mp.weixin.qq.com/s/9GjXB9Eu-OP3fIjdQWKklg)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):鉴于在开发 Flutter 过程中遇到的一些问题,西瓜视频 Flutter 基础团队开发了一款调试工具包 UME,内部集成了丰富的调试工具, 包括但不限于如下功能:
+
+- Widget 信息:查看当前选中 widget 的大小、名称,文件路径以及代码所在行数
+- Widget层级:查看当前选中 widget 的树层级,以及它 renderObject 的详细 build 链
+- ShowCode: 查看到当前页面的页面代码
+- 内存泄露:检测 flutter 内存泄漏
+- 内存查看:查看当前 Dart VM 对象所占用情况
+- 对齐标尺:测量当前 widget 所在屏幕的一个坐标位置,开启吸附开关后可以自动吸附最近 widget
+- 颜色吸管:查看到当前页面任何像素的颜色,方便调试 UI
+- 网络调试:支持所有网络请求抓取,mock 响应内容等
+- Logger:展示使用 debugprint 函数打印的日志
+- Channel Monitor:查看所有的 channel 调用,包括方法名,时间,参数,返回结果
+
+### 🐕 [What went wrong with the libdispatch. A tale of caution for the future of concurrency](https://tclementdev.com/posts/what_went_wrong_with_the_libdispatch.html)
+
+[@Leo](https://github.com/leomobiledeveloper):libdispatch 是 Apple 推出的帮助开发者利用好多核性能的底层框架,简洁的 block 相关的 API 让并发编程变得前所未有的容易。但很多情况下 libdispatch 被滥用,导致引起线程爆炸,代码调试困难等问题。本文作者讲述了自己使用 libdispatch 的痛点,分析了 swift 即将引入的并发相关特性的,文章条理清晰,能看出作者对并发编程有着独到的见解。
+
+### 🐕 [MongoDB Realm 使用初体验 | 奇谈](https://mp.weixin.qq.com/s/HhhqkHtu9P1hib9L2Miyhg)
+
+Realm 是一个专门为移动端设计的数据库。主要特点是性能好,易使用。MongoDB 是一个流行的 NoSQL 数据库,主要是在服务器端使用。MongoDB 收购 Realm 半年后推出全新的 MongoDB Realm。移动端的数据库还是 Realm,本地的数据存取接口几乎保持一致。通过 Realm sync 这个程序把数据同步到 MongoDB Atlas 中。本文介绍了 MongoDB Realm 的基本功能和使用方法。
+
+### 🐎 [DispatchSource: Detecting changes in files and folders in Swift](https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift.html)
+
+[@四娘](https://kemchej.github.io/):GCD 里的 DispatchSource 家族包含了一系列监听系统事件的 API,例如 Mach 事件通知,文件变更通知等等。在这篇文章里,作者以实时日志浏览为例展示了这一套 API 的使用方式。
+
+### 🐢 [端智能:理解 Vision 框架中的图片技术](https://mp.weixin.qq.com/s/L4VHrw0Hvu_ALlTRY7rBBA) 和 [How to display Vision bounding boxes](https://machinethink.net/blog/bounding-boxes/)
+
+[@EyreFree](https://github.com/EyreFree):Vision 是 Apple 2017 年和 Core ML 一起推出的、基于 Core ML 封装的图像识别库,它包含有人脸识别、机器学习图片分析、条形码识别、文字识别等基础功能。本次推荐的两篇文章对 Vision 的图片重点区域、图片分类、图片相似度、人脸识别技术等主要应用进行了介绍和演示,推荐大家都来看一下,说不定下次遇到的图形相关的业务就可以用它来实现了。
+
+### 🐢 [一篇吃透 Dark Mode ,搞定“暗黑/深色”适配](https://mp.weixin.qq.com/s/02QmgMkmVcB8x7xVZJT_Bg)
+
+[@AidenRao](https://weibo.com/AidenRao):本文讲述 APP 中各组件适配 Dark Mode(暗黑模式 或 深色模式)的方式和注意事项,以及一些细节的处理建议。
+但更重要的,是让大家掌握适配暗黑模式的工作量。避免轻易开工,导致进退两难。
+
+- 从“层级”、“颜色”两方面讲述 iOS 安卓适配方法。
+- 讲述 Dark 适配需要关注的细节:字色、图标、插图等
+- Dark 适配的难点:适配场景多,Dark 模式下无障碍阅读的适配,以及容易出现遗漏。
+
+### 🐢 [移动端 UI 一致性解决方案](https://mp.weixin.qq.com/s/oq7ylltdRIdJuSlL7EIiNA)
+
+[@Parsifal](https://github.com/ParsifalC):大型 App 往往承接着来自不同团队的业务,可能各个业务组都有着自己的产品、设计和研发团队。随着版本的不断迭代,大型 App 在设计层面、研发层面、测试层面和产品层面均会面临着效率低、UI 体验不一致等问题。美团外卖团队分享了他们在移动端 UI 一致性解决方案上的探索。这是一套需要各个团队达成共识共同去维护的标准化组件,相比于完成这一套方案的建设,或许去推进各个业务团队接受并使用也是不小的挑战。
+
+### 🐎 [Comparing iPhone OS 1.0 with iOS 14 using tree maps](https://blog.timac.org/2020/1122-comparing-iphone-os-with-ios-14-using-tree-maps/)
+
+[@Parsifal](https://github.com/ParsifalC):2007 年第一款 iPhone 发布至今,iPhone 的硬件在不断更新,软件也从 iPhone OS 1.0 到了 iOS 14。本文通过 tree map 带我们一览其中的结构变化过程。
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2020/#139-2020.12.07.md b/Reports/2020/#139-2020.12.07.md
new file mode 100644
index 000000000..e6bd479f3
--- /dev/null
+++ b/Reports/2020/#139-2020.12.07.md
@@ -0,0 +1,101 @@
+# 老司机 iOS 周报 #139 | 2020-12-07
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [用 Web 技术为 Safari 编写扩展](https://mp.weixin.qq.com/s/ZVqCmWUGsUIYLXmpgBTZMA)
+- [通过更好的隐私保护与用户建立信任](https://mp.weixin.qq.com/s/rIULHMRCmhdwuI_p1TIukw)
+
+## 新手推荐
+
+### 🐎 [UIStackView padding](https://sarunw.com/posts/uistackview-padding/)
+
+[@Damien](https://github.com/ZengyiMa): UIStackView 是 Apple 在 iOS9 推出流式布局容器库,它可以让我们高效的管理一行或一列视图的布局,在日常开发中往往有需要对 View 设置 Padding 的场景,相对比直接设置元素约束的方式,我们还可以使用 isLayoutMarginsRelativeArrangement 属性来提高我们布局效率,本文将会详细介绍 isLayoutMarginsRelativeArrangement 的妙用。
+
+## 文章
+
+### 🐎 [Swift protocols in SwiftUI](https://fivestars.blog/swiftui/swift-protocols.html)
+[@zvving](https://github.com/zvving):协议(Protocols)是 Swift 语言的重要组成部分,在 SwiftUI 中亦有广泛应用,比如新增的协议 [View](https://developer.apple.com/documentation/swiftui/view)、[Shape](https://developer.apple.com/documentation/swiftui/shape) 等。
+
+除此之外,标准库中基础协议 Equatable,Identifiable,Hashable 从最小化重绘、定位元素、尝试兼顾代码复用与传值等不同角度为 SwiftUI 带来高效布局能力。本文带你快速了解这部分内容。
+
+### 🐕 [MacBook 升级 SSD 硬盘指北](https://juejin.cn/post/6901549087221514247)
+
+[@Parsifal](https://github.com/ParsifalC):用低磁盘容量的 MacBook 做 iOS 开发,最头疼的无疑是 Xcode 那膨胀地异常迅速的空间使用率。无论是 Xcode 自身大小,还是编译项目的缓存,又或是 device support 的 SDK,都会夸张地将你磁盘空间填满。这篇文章非常详细地总结了自己是如何动手升级老 MacBook SSD 的,是一篇手把手的教程帖。
+
+### 🐎 [一种更优雅的 Flutter Dialog 解决方案](https://juejin.cn/post/6902331428072390663)
+
+[@Parsifal](https://github.com/ParsifalC):Flutter 提供的 dialog 存在必须传 BuildContext、无法透传事件和某些场景下的路由混乱等问题,为解决这些问题作者自定义了一个 Dialog Widget - [flutter_smart_dialog](https://github.com/CNAD666/flutter_smart_dialog),几个问题的解决方式值得参考借鉴。
+
+## 工具
+
+### [Xcode Releases](https://xcodereleases.com/)
+
+[@Parsifal](https://github.com/ParsifalC):一个汇总了所有 Xcode 版本信息的工具网站,比官网更加清晰,查询也更加方便快速。下载资源仍然是使用的苹果官方渠道,不必担心安全问题。
+
+### [Swift Version](https://swiftversion.net/)
+
+[@Parsifal](https://github.com/ParsifalC):Swift 作为一款仍在持续进化中的语言,版本迭代也很频繁。这个网站汇总了所有 Swift 版本和 Xcode 版本的关联关系,有想了解相关版本历史需求的可以关注一下。
+
+## 代码
+
+### [ColorKit](https://github.com/Boris-Em/ColorKit)
+
+[@水水](https://www.xuyanlan.com): 这是一个关于 ‘Color’ 的库,它有一些非常实用的 Features :
+- Dominant Colors : 获取一张图片的主色
+- Color Palette :调色板
+- Average Color : 获取一张图片的平均色
+- Color Difference (DeltaE):色差,颜色比较
+- Contrast Ratio:对比度
+- Color Space Conversions: 颜色空间转换
+还有更多很实用的特性,读者们可以尝试使用哦~
+
+### [DiDiPrism](https://github.com/didi/DiDiPrism)
+
+[@老峰](https://github.com/GesanTung): DiDiPrism 是滴滴团队开源的一套专注于移动端操作行为的技术方案。具有零入侵,各端统一的操作行为指令,丰富灵活操作行为策略等特点,主要具有如下功能:
+- 操作回放(视频回放 / 文字回放)
+- 实时操作行为检测
+- 移动端埋点全流程,数据可视化(开源筹备中..)
+还有更多功能,有类似需求的读者们可以借鉴参考使用
+
+### [tumblr/kanvas-ios](https://github.com/tumblr/kanvas-ios)
+
+[@JonyFang](https://github.com/JonyFang):Kanvas 是 Tumblr 近期开源的一款工具库,主要用于添加特效、图形、文本、贴纸以及使用现有媒体或相机制作 GIF。在 Tumblr iOS 应用中,它被用作相机、媒体编辑器、GIF 制作器和媒体发布工具。
+
+有类似需求的读者,可以借鉴参考使用哦~
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2020/#140-2020.12.14.md b/Reports/2020/#140-2020.12.14.md
new file mode 100644
index 000000000..f7e26f5d7
--- /dev/null
+++ b/Reports/2020/#140-2020.12.14.md
@@ -0,0 +1,83 @@
+# 老司机 iOS 周报 #140 | 2020-12-14
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [iOS 稳定性:如何在开发中规避安全风险](https://mp.weixin.qq.com/s/Khmpba8XBxbcf6Cq7zc5ZQ)
+- [WKWebView 新变化:发掘 WKWebView 的神奇妙用](https://mp.weixin.qq.com/s/NcMo6uStNrdLJvVGfL1TNw)
+
+### [App 内购买项目现已支持「家人共享」功能](https://developer.apple.com/cn/news/?id=4zbvn7u9)
+
+ [@享耳先森](https://github.com/iblacksun):现在,开发者可以为自动续期订阅和非消耗型内购买项目启用「家庭共享」功能,从而允许用户与最多 5 位其他家庭成员共享购买内容。
+
+## 文章
+
+### 🌟🚧🐕 [Uber 工程师亲述使用 Swift 重写 App 的(惨痛)经历](https://threadreaderapp.com/thread/1336890442768547845.html)
+
+[@四娘](https://kemchenj.github.io/):事情起源于 2016 年,那年 Trump 还不是总统,TK 还没有爆出丑闻,Uber 还在飞速增长,App 的架构也逐渐变得复杂和脆弱,由此产生的 Bug 让工程师团队疲于奔命,最终他们决定重写 App 的架构。
+
+在 iOS 端,他们做了一个最“灾难性”的决定:**全面使用 Swift 进行重写**。当时的 Swift 还是 2.x 版本,Uber 的项目在那时敲下一段语句需要等 45 秒才会出现代码补齐,除此之外还有编译速度,启动速度和二进制大小的问题,过程中他们用了非常多的 hacky 的手段去处理,例如 struct 全部改成 class,编译产物重链接,编译 pass 重排等等。
+
+希望大家看完这段经历之后可以对技术选型有更深刻的理解。
+
+> 中文译版:[我在Uber亲历的最严重的工程灾难](https://mp.weixin.qq.com/s/T1RqYrCTOpQvkWdunoxqww)
+
+### 🌟🐕 [杀不掉的 App——CVE-2018-4340](https://mp.weixin.qq.com/s/tnupXwfR5EDhZif7t9vR1w)
+
+ [@Leo](https://github.com/leomobiledeveloper):作者在 2018 年给 iOS 和 macOS 报了一个 WebKit 沙箱逃逸漏洞 CVE-2018-4310,苹果先后在 macOS 和 iOS13上修复了这个漏洞。本文详细讲述了这个漏洞的原理,以及如何在 iOS 上做一个杀不掉的 App,是一篇 iOS/macOS 上安全相关的高质量文章。
+
+### 🌟🐕 [iOS Synchronized 底层分析](https://juejin.cn/post/6903421773232996365)
+
+ [@Damien](https://github.com/ZengyiMa):Synchronized 是 iOS 开发中最常用的几种锁之一,想知道 Synchronize 的底层实现吗?本文会从 4 个具体问题出发,结合底层源码一步步为你揭开 Synchronize 的面纱,对想深挖的 iOS 底层开发者值得一读。
+
+> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
+
+### 🐕 [My SwiftUI Pain: Creating Tappable Links in Text](https://medium.com/better-programming/swiftui-pain-links-in-text-b31319783c9e)
+
+ [@EyreFree](https://github.com/EyreFree):SwiftUI 是苹果最新推出的声明式 UI 开发框架,借助它你可以在所有 Apple 平台上构建用户界面,很多开发者已经开始在个人项目甚至企业项目中使用这一技术。它很酷,但毕竟刚刚起步,很快一些开发者便会碰到一些坑或者问题,比如本文作者遇到的:如何优雅地在一段文本中给某些词语添加点击事件。作者分享了自己如何通过一步步的尝试最终得到了自己想要的效果,虽然最终效果看起来还不错,但他直言使用传统的 UIKit 与 AppKit 也许更方便,对 SwiftUI 感兴趣的朋友推荐一读。
+
+### 🐎 [Xcode 12.3 盘点](https://mp.weixin.qq.com/s/F_47HZZn74Jjd1q99WDCHA)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了 Xcode 12.3 RC 版本解决的关于 xcodebuild,macOS 上的键鼠响应速度,文档查看器,Interface Builder,模拟器和 Swift 的几个问题。
+
+## 工具
+
+### [lowmad](https://github.com/bangerang/lowmad)
+
+[@老峰](https://github.com/GesanTung): 在开发调试中我们经常会使用 LLDB 命令 Debug,有时也有自定义 LLDB 命令的需求。lowmad 就是用于管理和生成 LLDB 脚本的命令行工具,它提供了简洁易用的命令来生成或安装脚本命令,另外作者开源了 [lldb_commands](https://github.com/bangerang/lldb_commands) 自定义 LLDB 命令,如 find_label、color、nudge 等,感兴趣的读者不妨来研究一哈。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2020/#141-2020.12.21.md b/Reports/2020/#141-2020.12.21.md
new file mode 100644
index 000000000..87065fdad
--- /dev/null
+++ b/Reports/2020/#141-2020.12.21.md
@@ -0,0 +1,149 @@
+# 老司机 iOS 周报 #141 | 2020-12-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [iOS 稳定性:编写会“失败”的测试](https://mp.weixin.qq.com/s/J2bZNxe5Xf9xL85ftIjG3g)
+- [iOS 稳定性:更快地获得测试结果](https://mp.weixin.qq.com/s/iLmpcuFadWEekRqE3SM15w)
+
+## 新闻
+
+### [苹果现已推出轻 App 码](https://developer.apple.com/cn/news/?id=4c7j45dp)
+
+[@Parsifal](https://github.com/ParsifalC):AppClip 是今年 WWDC 的一大亮点,现在苹果已经正式推出 AppClip 码,只需将 iPhone 靠近轻 App 码或用摄像头扫描该代码,即可打开您的轻 App 并快速完成需要的任务。
+
+### [App Store 现已提供 App 的隐私标签](https://developer.apple.com/cn/news/?id=3wann9gh)
+
+[@Parsifal](https://github.com/ParsifalC):上个月苹果已经要求开发者必须在 12 月 8 号之前必须完善 App Store Connect 上的新隐私信息,而现在开发者所填写的隐私信息已经能够被 App Store 上浏览,帮助其了解该 app 的隐私保护做法。
+
+## 新手推荐
+
+### 🌟 🐎 [iOS | 事件传递及响应链](https://juejin.cn/post/6894518925514997767)
+
+[@J_Knight_](https://github.com/knightsj):本文图文并茂并结合代码介绍了 iOS 中的事件传递及响应链机制:确定第一响应者以及如何通过响应链来传递事件的过程。同时也推荐本文作者的另外一篇文章:[iOS | 响应链及手势识别](https://juejin.cn/post/6905914367171100680) :讲解了手势识别是如何通过响应链来传递事件的。
+
+### 🐢 [iOS App Dev with SwiftUI Tutorials](https://developer.apple.com/tutorials/app-dev-training)
+
+[@Parsifal](https://github.com/ParsifalC):苹果官方推出的 iOS App 入门级教程,大约 4 个小时时间,让你体会如何用 SwiftUI 构建一个简单的 App。整个教程还是采用类似逐步闯关的形式进行,十分友好。
+
+## 文章
+
+### 🌟 🐕 [200 weeks of Swift](https://www.swiftbysundell.com/articles/200-weeks-of-swift/)
+
+[@zvving](https://github.com/zvving):[John Sundell](https://twitter.com/johnsundell) 是 Swift 开发者社区的知名创作者,他创建的 [Swift by Sundell](https://www.swiftbysundell.com/about/) 网站每周发布 Swift API 设计、访谈、最佳实践等优秀文章、播客。
+
+不知不觉网站已经迎来第 200 期更新:作者在 Swift 学习过程中,常见问题的三处思考:
+
+- 更多使用值类型,除非需要共享可变状态
+- 用语义清晰的类型加强代码自注释
+- 面向协议编程也有代价,建议在不同方案中寻求平衡
+
+[Swift by Sundell](https://www.swiftbysundell.com/about/) 网站有大量精彩内容,推荐 Swift 开发者订阅。
+
+### 🌟 🐕 [都 2021 年了,你的动画还在用 setState ?](https://juejin.cn/post/6906670385941446670)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 中想要实现一个动画效果也是极其简单的,通过动画控制器,然后修改 State 即可。但这并非正确的姿势,本文通过 AnimatedBuilder 来实现动画,并解析其源码来分析为何如此,强烈推荐.
+
+### 🌟 🐢 [App 启动提速实践和一些想法](https://mp.weixin.qq.com/s/v2Ym9GPU4J8xCFFNYcpJhg)
+
+[@Leo](https://github.com/leomobiledeveloper):启动是门面,好的印象也有助于留存率提高。本文包含了 iOS 和 Android 的一些通用启动优化实践,作者从 H5 启动页、下载速度、线程调度、多线程模型等多个维度展开讲解,最后介绍了分析工具和自动化管控。一篇文章包含了 App 启动速度的方方面面,建议仔细阅读。
+
+### 🐎 [No more [weak self], or the weird new future of delegation](https://olegdreyman.medium.com/no-more-weak-self-or-the-weird-new-future-of-delegation-f2a2745cd73)
+
+[@xiaofei86](https://weibo.com/xuyafei86):当我们使用闭包时总是要为了避免循环引用而使用 weak self。本文通过属性包装器将回调用带有泛型的类进行封装,使避免循环引用的职责由 API 的使用者转换到 API 的设计者身上。我们只需要将回调闭包用 @Delegate 标记就可让使用者避免使用 weak self,例如:
+```swift
+@Delegated var didUpdate: (String) -> Void
+
+textField.$didUpdate.delegate(to: self) { (self, text) in
+ self.label.text = text
+}
+```
+但由于 Swift 泛型的限制 1 个属性包装器只能处理固定数量的返回参数,所以作者同时编写了开源库 [Delegated](https://github.com/dreymonde/Delegated) 提供 @Delegate0、@Delegate1、@Delegate2 等多个属性包装器来支持不同参数数量的闭包。有兴趣的同学可以阅读原文了解。
+
+### 🐕 [The future of SwiftUI navigation (?)](https://fivestars.blog/swiftui/programmatic-navigation.html)
+
+[@极速男孩](https://github.com/ztlyyznf001):SwiftUI 中没有了 ViewController 中 present 的方法,而是用了 NavigationLink 来替代。但是 NavigationLink 也存在着一些限制,比如在导航是向目标 view 传一个 dynamic 的值比较麻烦,然后 NavigationLink 声明的时候需要有一个 view 。这篇文章主要介绍了如何避免这些 NavigationLink 的限制。首先我们可以通过绑定一个状态或者一个 EmptyView 来解决 NavigationLink 需要一个 view 的问题。然后我们可以通过绑定一个对象的标识而不是 Bool 或者 Hashable 的值来解决向目标 view 中传值的问题。
+
+### 🐕 [iOS 编译速度如何稳定提高 10 倍以上之一](https://juejin.cn/post/6903407900006449160)
+
+[@红纸](https://github.com/nianran):本文主要阐述了美柚团队在编译包上二进制化跟编译文件缓存上的探索。主要阐述了如下几种尝试方向:
+
+1. 利用 CCache 缓存优化编译产物,但是命中率低。
+2. cocoapods-binary 插件,在 pod install 的 pre_install hook 中拦截并在当前的 Pods 目录下打包二进制文件,本质上只是编译前移,还是会拖慢 pod install 速度。
+3. cocoapods-bin 双私有源,定制化两份源文件,一份源管理源代码、一份源管理静态库。具有原生 Cocoapods 的交互体验。
+
+美柚团队在 cocoapods-bin 的基础上客制化 [cocoapods-imy-bin](https://github.com/MeetYouDevs/cocoapods-imy-bin) 插件。其插件具有以下特征点:
+
+1. 无入侵、无感知、不影响现有业务
+2. 支持 Swift 二进制化
+3. 支持 use_frameworks!
+4. 轻量,不受耦合或组件化的影响
+5. 完全自动化,一键使用、无需手动操作,包含完整的 server 体系一条龙服务
+6. 含有二进制源码调试功能
+
+> 由 [HapyCoder](https://github.com/HapyCoder) 推荐
+
+### 🐎 [How expensive is DateFormatter](https://sarunw.com/posts/how-expensive-is-dateformatter/)
+
+[@水水](https://www.xuyanlan.com):相信大部分读者都知道创建 DateFormatter 的操作有非常昂贵的代价,但是大部分读者可能并不清楚到底它有多慢,哪个部分"贵",我们将在本文中一起找出答案。
+
+### 🐕 [Apple Silicon(苹果芯片)从 DTK 到 M1 Mac 的入门总结](https://juejin.cn/post/6903091283204833287)
+
+[@老驴](https://www.weibo.com/6090610445):Apple 在今年 6 月的 WWDC 上正式宣告了从 Intel 到 Apple Silicon 为期两年的转变,这不仅仅是苹果产品的转变,更是整个行业从 x86 转向 ARM 的序章。本文的作者就帮你梳理了一下从开发者套件到 M1 芯片的最终产品的种种。
+
+### 🐕 [M1 芯片有何不同?](https://mp.weixin.qq.com/s/Krmx_mYpDdRGKzN3zs3mYw)
+
+[@JonyFang](https://github.com/JonyFang):本篇主要介绍了 M1 芯片与其他芯片的不同之处、优秀的点及存在的问题。分别从如下几个方面进行了分析:
+
+- M1 芯片与 CPU 的关系
+- 苹果如何做到的统一内存架构(UMA)
+- M1 用到了先进的 5 纳米制程&惊人的 160 亿个晶体管
+- M1 存在哪些问题
+
+对于苹果来说,未来无疑将会长期进行大量的投入来对 M 系列芯片进行迭代,且其自有生态也保证了能够反哺 M 系列芯片的研发。也期待未来更为完善的 M 系列芯片。
+
+### 🚧🐕 [Binary Size Woes](https://medium.com/nerd-for-tech/binary-size-woes-acb5d96f058a)
+
+[@四娘](https://kemchenj.github.io/):作为上一期 [Uber 工程师亲述使用 Swift 重写 App 的经历](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/Reports/2020/%23140-2020.12.14.md#-uber-工程师亲述使用-swift-重写-app-的惨痛经历)的后续,有另外一位工程师出来介绍他们在缩减 Binary Size 方面做的努力,从与苹果的沟通,到工程方面的努力,包括编译参数的调优,追踪每一个 Pull Request 对于 Binary Size 的影响等等。
+
+## 代码
+
+### [Motion](https://github.com/b3ll/Motion)
+
+[@Damien](https://github.com/ZengyiMa):Motion 是一个完全用 Swift 编写的动画引擎,用于在 iOS,macOS 和 tvOS 进行动画和交互,并且完全支持 Apple 的 SIMD 特性。 Motion 可以轻松的创建动画(如弹簧,衰减等特性动画),也可以与手势识别相关的功能一起合作,以实现尽可能流畅和令人愉悦的交互。需要的做出精美的交互动画的同学值得尝试一下。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2020/#142-2020.12.28.md b/Reports/2020/#142-2020.12.28.md
new file mode 100644
index 000000000..a25c4476e
--- /dev/null
+++ b/Reports/2020/#142-2020.12.28.md
@@ -0,0 +1,120 @@
+# 老司机 iOS 周报 #142 | 2020-12-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [SiriKit 新变化:让 Intent 更强大](https://mp.weixin.qq.com/s/1CxDs8qHLzEHky6yWjdseQ)
+- [iOS 稳定性:使用 XCTIssue 分析诊断测试失败问题](https://mp.weixin.qq.com/s/O-awF7t4jqJVPNdL-4jidA)
+
+## 文章
+
+### 🌟 🐕 [2020 腾讯 Techo Park - Flutter 与大前端的革命](https://mp.weixin.qq.com/s/oflhVGs6lZBb--sOllMi8g)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 自发布到目前的 1.22 版本,已经走过了两年多的时间,这段时间以来,Flutter 一直都是跨端开发的风口浪尖,这个时候很多人不禁要问:那么未来还是么 ? 又该如何抉择 ?本文将给你这些问题的答案。
+
+### 🌟 🐕 [arm64 objc_msgSend 源码解读](https://www.jianshu.com/p/1972010b88d7)
+
+[@Damien](https://github.com/ZengyiMa):objc_msgSend 方法是 Objective-C 的 Runtime 最核心的部分,你是否好奇底层的具体实现呢?本文的作者将会从汇编的角度把 objc_msgSend 的流程梳理一遍,包括 class 查找、缓存查找、缓存未命中的处理、taggedPointer 和 nil 处理。通过本文你会加深对象结构的布局认识以及对 arm64 汇编基础指令的学习也是一个很好的入门方式。
+
+> 由 [silan-liu](https://github.com/silan-liu) 推荐
+
+### 🌟 🐕 [自定义 LLVM PASS 实现 函数耗时插桩统计](https://blog.0x1306a94.com/docs/llvm/ch01/01/)
+
+[@Leo](https://github.com/leomobiledeveloper):函数耗时分析对性能优化非常有用。目前常用的方法有两种:类似 Time Profiler 的堆栈采样分析和 hook objc_msgSend 的 OC 方法级别耗时分析。
+
+耗时统计的本质是在函数头尾插入统计代码,能在运行时做当然也可以在编译期,这篇文章非常详细地讲解了如何在编译期间通过 LLVM PASS 实现函数耗时统计,不仅能覆盖 OC ,还能覆盖 C、C++ 等其他语言。
+
+### 🐕 [HTTP/2 做错了什么?刚刚辉煌2年就要被弃用了!?](https://mp.weixin.qq.com/s/DLmg_SGGx0iyXepuhQB8pg)
+
+[@AidenRao](https://weibo.com/AidenRao):HTTP/2 的诞生,主要是通过多路复用技术,解决 HTTP/1.1 中的效率问题。但依旧存在很多不足,因为 HTTP/2 底层是采用 TCP 协议实现的,存在 TCP 队头阻塞,三次握手耗时过长问题。
+
+所以,HTTP/2 推出没多久,业内就开始大力投入 HTTP/3 的研发与推广,HTTP/3 选择了一种新的技术方案,基于 UDP 协议改造的 QUIC (Quick UDP Internet Connections),作者会在后续的文章对 HTTP/3 进行详细介绍。
+
+### 🐢 [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://floating-point-gui.de/)
+
+[@JonyFang](https://github.com/JonyFang):我们应该都写过类似这样的简单代码:
+```
+0.1+0.2
+```
+与我们预期不同的是,它实际得到的结果是:
+```
+0.30000000000000004
+```
+那么我们为什么会得到这个结果?如何处理这类问题?关于这类常见浮点数问题的解答,我们可以通过这个网站来找到答案。如果读者有兴趣,也可以提供更深入的解释,说明为什么浮点数必须如此工作以及可能还会出现其它哪些问题。
+
+## 工具
+
+### [Stringz iOS Apps Localization Editor](https://github.com/mohakapt/Stringz)
+
+[@Parsifal](https://github.com/ParsifalC):一款很好用的做 App 本地化的工具,UI 简明清晰,并且能自动识别工程内的所有本地化文件。
+
+## 代码
+
+### [CalendarKit](https://github.com/richardtop/CalendarKit)
+
+[@老驴](https://www.weibo.com/6090610445):日历,尤其是复杂的日历 UI 都是产品开发中费时费力的部分,很多时候,因为缩减开发周期,设计师也会选择跳过这部分转而使用原生的日历 App 来设计功能。这个 CalendarKit 就是由一位外国朋友开发维护的开源日历 UI 库,可以很方便的进行日历相关功能的集成。
+
+> 由 [理查德·托普奇( Richard Topchii )](https://github.com/richardtop) 推荐
+
+### [RealityUI](https://github.com/maxxfrazer/RealityUI)
+
+[@Parsifal](https://github.com/ParsifalC):如果你正在做 AR/VR 相关的开发,那么这个库一定对你很有帮助。RealityUI 提供了一系列的控件,让你可以像做 2D 应用一样开发 AR/VR 应用。
+
+> 由 [XanderXu](https://github.com/XanderXu) 推荐,他长期研究 ARKit 相关技术,编写有 [ARKit Tips](https://xiaozhuanlan.com/u/xanderxu) 等多个专栏
+
+## 音视频
+
+### 🌟 🐕 [Apple tech-talks 10855 10856 10857](https://developer.apple.com/videos/play/tech-talks/10855)
+
+[@莲叔](https://github.com/aaaron7):Apple Developer 上推出的三个新的 Tech Talk,链接地址分别是:
+
+* [10855 Explore UI animation hitches and the render loop](https://developer.apple.com/videos/play/tech-talks/10855)
+* [10856 Find and fix hitches in the commit phase](https://developer.apple.com/videos/play/tech-talks/10856)
+* [10857 Demystify and eliminate hitches in the render phase](https://developer.apple.com/videos/play/tech-talks/10857)
+
+首先是第一讲,10855 介绍了在 iOS UI 开发中的 hitch(故障,卡顿) 的定义。 之后介绍了 iOS 渲染的 3-阶段模型。进一步阐述了 hitch 出现的原因和类型,最后还给出了衡量 hitch 对于用户体验影响的指标。
+
+接下来的两讲分别讨论了如何解决 commit 阶段和渲染阶段的耗时:
+
+* 10856 首先介绍了 commit 阶段的定义, commit 阶段指的是当事件发生时, App 进程处理相关的 UI 更新到更新完成,提交到 Render 进程的时间。主要分为四个阶段: Layout、Display、Prepare、Commit。 Layout 和 Display 阶段往往就对应我们 View 的 layoutSubview 和 drawrect, 是最容易导致卡顿的点。之后,视频结合一个具体的案例来介绍了如何使用新的 instruments 来定位 commit 阶段的 hitch, 最后给出了一些最佳实践来避免耗时。
+* 10857 首先介绍了 render 阶段做的事情,然后引出了导致 render 阶段耗时的核心原因:离屏渲染。即 GPU 无法串行的执行所有绘制任务,而是需要中断主 pipeline 去先做一部分离屏渲染之后才能完成当前任务。之后介绍了如何使用 Xcode 的 View Hierarchy Debug 面板配合 Instrument 去找到当前介绍触发离屏渲染的元凶。最后,类似 10856, 本视频后续也给出了一些平时开发的最佳实践的建议。
+
+这三讲的内容非常富有启发性,讲解 hitch 是一方面,更有价值的是借这个过程阐述了 iOS 的 UI 机制,让我们能够在做优化时候不仅能知其然,更能知其所以然。比如圆角、阴影到底为什么会影响帧率,Flutter 在 iOS 上对比原生的性能为什么相比 Android 差这么多这些问题,相信你看完都能有答案。
+
+> 由 F010BE 推荐
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#143-2021.01.04.md b/Reports/2021/#143-2021.01.04.md
new file mode 100644
index 000000000..50e53b48d
--- /dev/null
+++ b/Reports/2021/#143-2021.01.04.md
@@ -0,0 +1,97 @@
+# 老司机 iOS 周报 #143 | 2021-01-04
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 2021
+
+[@Parsifal](https://github.com/ParsifalC):先说句迟到的新年快乐!2020 年终于过去了,崭新的一年也已经到来。在所有编辑的努力以及广大读者的支持下,很感恩周报又和大家一起度过一年。这是周报第 143 期,也是 2021 年的第 1 期,愿我们还能一起成长~
+
+> 在朋友圈刷屏年终总结的时候,我们也做了个小活动 - [【请查收】你的 2020 年度 Github 报告](https://mp.weixin.qq.com/s/eBw4gS6-Y8ZYNReF3pbHng),感兴趣的读者可以参与下~另外,想加入周报读者群的朋友可以添加 iTDriverr 为好友。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [Sirikit 和 Shortcuts 的新特性](https://mp.weixin.qq.com/s/gw35JpL_JhGXIjVybxNM3Q)
+- [SiriKit 新变化:评估优化 App 的语音交互](https://mp.weixin.qq.com/s/U9dgIg-cJn0kAWI4Uj7V7A)
+
+## 文章
+
+### 🐕 [Flutter 中一行文字到屏幕上,渲染全过程!](https://mp.weixin.qq.com/s/RAM3GbJ_vjnC_JcgNrFKtg)
+
+[@极速男孩](https://github.com/ztlyyznf001):flutter 中除了我们熟悉的 StatelessWidget 和 StatefluWidget 两个 Widget 以外,还有InheritedWidget、 RenderObjectWidget 这种 Widget。 这篇文章主要通过一步步的解析源码中如何使用 RenderObjectWidget 中的 RenderParagraph 来将 RichText 渲染到屏幕中的。然后通过去自定义一个文本的组件来进一步了解如何使用 RenderObject 来渲染文字的。
+
+### 🐢 [今日头条优化实践: iOS 包大小二进制优化](https://mp.weixin.qq.com/s/TnqAqpmuXsGFfpcSUqZ9GQ)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):苹果对 iOS App 大小有严格的限制,包括下载大小和可执行文件的大小。本文从背景知识和面临的实际问题出发,介绍了 `__TEXT` 段迁移技术及减少下载大小的原理,描述了我们在实践过程中遇到的问题,并从源码的角度详细分析了问题产生的根本原因以及解决方式,解答了相关疑问和上线后遇到的问题。需要注意的是,由于苹果在 iOS 13 已经对下载大小做了优化,所以本文方案无法再对 iOS 13 及更高系统的设备的下载大小进一步优化。
+
+### 🐕 [百度App Objective-C/Swift 组件化混编之路(二)](https://mp.weixin.qq.com/s/xA3g0GdNvfKNgfvG6imEvw)
+
+[@JonyFang](https://github.com/JonyFang):本文主要以依赖管理工具 EasyBox 工具链为支撑,介绍百度 App 如何实现组件内的 Objective-C/Swift 混编、单侧、二进制发布和集成,以及组件间的依赖和引用。
+
+对于开发者来说,不用去关心混编是如何实现的,只需要和正常开发一样,组件内引用所需的头文件(#import )或 module(@import ModuleXX),组件间在声明依赖后亦可直接引用头文件或 module ,EasyBox 工具链会根据源码文件或配置进行 module 化和 Xcode Build setting 相关的处理。
+
+对于混编组件的二进制打包,开发者们也不用去关心如何处理编译产物,诸如 `*-Swift.h`、二进制架构、`*.swiftmodule`、`*.interface` 等,EasyBox 工具链打包命令 box package 会全权处理,降低开发者们的配置难度和协同成本。
+
+### 🐎 [2020 年文章总汇](https://mp.weixin.qq.com/s/71z6vbkxjzk8SzJCmZeFlw)
+
+[@J_Knight_](https://github.com/knightsj):本文是一瓜技术公众号在2020年的文章汇总,同时也介绍了其他原创作者的信息以及分享的专题文章列表。而且在文章底部有一个关于读者喜爱的专题的投票,感兴趣的读者可以参与一下。
+
+### 🐎 [使用 Swift 编写 CLI 工具的入门教程](https://mp.weixin.qq.com/s/V4IdsYUouKGr68ULyb88Qw)
+
+[@Damien](https://github.com/ZengyiMa):Swift 的推出提高了 iOS 的开发效率和体验,本文会介绍 Swift 在编写 CLI(command line tool) 方面的用途,文章会详细介绍开发 CLI 的方方面面,如 SPM 搭建开发框架、参数解析、单测的编写、工具安装等等。希望通过本文,读者们可以将 Swift 应用到更多方面。
+
+### 🐕 [图解 Mach-O 中的 got](https://www.jianshu.com/p/55d82172a9f8)
+
+[@Leo](https://github.com/leomobiledeveloper):本文介绍了什么是 got、got 在 mach-o 中的位置、函数符号如何与 dyld_stub_binder 进行关联,以及如何一步步查找动态库符号的值。图文并茂,可让读者了解动态库符号的绑定原理。
+
+> 推荐人:[silan-liu](https://github.com/silan-liu)
+
+### 🐕 [Thresh 今天正式开源,有望成为替代 RN 的一种长期方案](https://mp.weixin.qq.com/s/E2lhodazRZRVPUGafY92xA)
+
+[@Parsifal](https://github.com/ParsifalC):有点标题党的意思,不过文章还是值得一看。[Thresh](https://github.com/ymm-tech/thresh) 其实只是本篇文章的一部分,整篇文章内容围绕在「满帮团队在大前端效率提升实践的诸多尝试」上,包括基于 RN 封装的 MBRN,基于 Flutter 渲染的 Thresh 框架,本地 H5 方案,Android 端插件化方案,基于自定义 DSL 的搭建化框架 DaVinci,随着业务场景的多样化和业务需求迭代的高频性,这些方案可能是各个技术团队都会去摸索的。其中,Thresh 是利用 JSC + Flutter Engine 完成的动态化能力,这样也算曲线弥补了 Flutter 关闭 AOT 下的动态能力缺陷,而 Flutter 独立的渲染引擎也保持了多平台一致性的优势。至于值不值得,个人觉得还是见仁见智,结合团队实际情况来看。
+
+## 工具
+
+### [Downloader-for-Apple-Developers](https://github.com/vineetchoudhary/Downloader-for-Apple-Developers)
+
+现在 Xcode 已经达到 10+ GB ,这个软件利用 aria2 可以多线程下载高速 Xcode,对于经常下载 Xcode 失败的同学可以试试~
+
+> 由 [iHTCboy](https://github.com/iHTCboy) 推荐
+
+### [DevUtils-app](https://github.com/DevUtilsApp/DevUtils-app)
+
+[@Parsifal](https://github.com/ParsifalC):由 Swift 编写的一个聚合了许多开发过程中会用到的小工具的 Mac App,比如各种编码解码、JSON 格式化、时间戳转换等等。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#144-2021.01.11.md b/Reports/2021/#144-2021.01.11.md
new file mode 100644
index 000000000..960c8a04e
--- /dev/null
+++ b/Reports/2021/#144-2021.01.11.md
@@ -0,0 +1,113 @@
+# 老司机 iOS 周报 #144 | 2021-01-11
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [WWDC20 CoreImage 专题](https://mp.weixin.qq.com/s/azSk79UwWQaXY6vnZyifkA)
+- [Mac Catalyst 的新功能](https://mp.weixin.qq.com/s/zlmsfTgUtJNKbBZxOgn8KQ)
+
+## 新闻
+
+### [The 2020 State of the OCTO—VERSE](https://octoverse.github.com/)
+
+[@Parsifal](https://github.com/ParsifalC):GitHub 官方的 2020 年度报告,作为聚集了最多全球开发者的开源平台,GitHub 这次从社区、生产率以及安全三个方面,展示不同的数据来总结过去的 2020 年。
+
+## 新手推荐
+
+### 🐎 [the different types of self in Swift](https://www.jessesquires.com/blog/2020/12/28/the-different-types-of-self-in-swift/)
+
+[@极速男孩](https://github.com/ztlyyznf001):这篇文章简单的介绍了在 Swift 三种 self 的不同用法,包括 self. 前缀,.self 后缀和 self 类型。
+
+## 文章
+
+### 🌟 🐎 [从 Weex 到Web,性能逆势如何破局?](https://mp.weixin.qq.com/s/0EluripD7qNZtx7-aCstkw)
+
+[@Damien](https://github.com/ZengyiMa):今年双十一飞猪会场从前端渲染引擎从 Weex 回归到 WebView,在迁移变化的同时,同时性能指标上的优化也不能落下,飞猪团队为了极致的性能体验,使用了端侧预渲染、服务端渲染、页面快照、SPA 单页应用模式以及资源&数据预缓存等方案来进行极致的优化,同时取得的效果也是很惊艳的:日常会场首屏耗时环比降低 25%,较 618 以及国庆会场首屏耗时环比降低 20%。对 WebView 优化相关的同学推荐阅读此文,或许可以找到灵感。
+
+### 🌟 🐎 [如何持续的自我提升](https://mp.weixin.qq.com/s/ibezFl5p62yDlb8HS6NyJw)
+
+[@J_Knight_](https://github.com/knightsj):本文作者结合自己的实际学习案例分享了 “如何自我学习/提升”的问题,整体的学习思路如下:
+- 初识:被灌输知识的过程。
+- 思考:主动消化知识的过程。
+- 探索:手动进行研究的过程
+- 总结和超越:完成自我提升的过程
+
+而且文章还提到了费曼学习法,感兴趣的读者可以阅读一下本文。
+
+### 🌟 🐢 [Preventing Data Races in the Swift Concurrency Model](https://gist.github.com/DougGregor/10db898093ce33694139d1dcd7da3397)
+
+[@享耳先森](https://github.com/iblacksun):并发一直是现代语言的重要部分,根据 Swift Roadmap,预计 Swift 6.0 将推出基于协程的 async/await 模型及新的 Actor Isolation 并发模型,Swift 核心成员 Doug 写了一篇文章,介绍 Swift 加入了新的并发模型之后,有哪些方式可以避免数据竞争。
+> 参考:
+- [Swift Concurrency Roadmap](https://forums.swift.org/t/swift-concurrency-roadmap/41611)
+- [Protocol-based Actor Isolation: Draft #2](https://docs.google.com/document/d/1BEO6QwzcYCUhaGyA-WRoM_phRa7O7mGPNIMdSV4StEE/edit)
+
+### 🐕 [8 Common SwiftUI Mistakes - and how to fix them](https://www.hackingwithswift.com/articles/224/common-swiftui-mistakes-and-how-to-fix-them)
+
+[@zvving](https://github.com/zvving):SwiftUI 之于 UIKit,就像 objc 之于 swift:二者在设计思想、具体实现方面有诸多关联,却又是底层逻辑完全不同、『推倒重建』的两类事物。
+
+带着 UIKit 已有经验去学习 SwiftUI,能快速上手的同时也会掉一些不易察觉的坑:细节不符合预期、实现冗余、写法错误而不自知……本文作者总结了 SwiftUI 新手常犯的 8 类错误,解决问题的同时,帮助你更好的理解 SwiftUI 的独特之处。
+
+### 🐕 [更现代的 Swift API 设计](https://mp.weixin.qq.com/s/DhtYVLNq5IRu2eUEktXgJg)
+
+[@EyreFree](https://github.com/EyreFree):Swift 是一门简洁同时富有表现力的语言,这其中隐藏着众多的设计细节。本文通过提出一个 Struct 的语义问题,在寻找答案的过程中逐步引出 DynamicMemberLookup 应用、PropertyWrapper(WWDC19 的 PropertyDelegate) 的实现原理以及 SwiftUI DSL 中 PropertyWrapper 的应用,来一起看看更现代的 API 背后的设计过程。希望这些理念能帮助你用 Swift 在项目中设计出更现代、清晰度更高的 API。
+
+### 🐕 [一文了解 Xcode 生成「静态库」和「动态库」 的流程](https://mp.weixin.qq.com/s/WH8emrMpLeVW-LfGwN09cw)
+
+[@JonyFang](https://github.com/JonyFang):本篇主要解答了 iOS App 的链接是由谁完成的。作者通过创建 Demo 来实践 Xcode 生成`静态库`和`动态库`的流程,过程中分析 [Report navigator](https://help.apple.com/xcode/mac/11.4/#/dev21d56ecd4) 页面中详细的 Build(构建)日志,得到的结论是:
+- 只有在 `动态库` 的链接过程会依赖 `clang Driver`;
+- 真正执行生成 `静态库` 与 `动态库` 的任务的是 `libtool` 和 `ld64`。
+
+## 工具
+
+### [iSimulator](https://github.com/wigl/iSimulator)
+
+[@红纸](https://github.com/nianran):iSimulator 是一款用于操控 Xcode 模拟器的 GUI 工具,其包含基础增删模拟器、展示应用安装列表、快捷导航应用的 Sandbox/Bundle 文件夹、APP 多模拟器同步装载等多种功能。还在烦恼找不到模拟器安装、文件夹路径的小伙伴可以尝试一下此工具。
+
+## 代码
+
+
+### [滴滴DoKit For Flutter正式开源,功能及核心实现解读](https://mp.weixin.qq.com/s/QLwE-ehvp9dHW4QJmAWI9g)
+
+[@邦Ben](https://weibo.com/linwenbang):本文介绍了滴滴开源的 DoKit,DoKit 是一个针对 Flutter 的产研工具包,集成了各种丰富的小工具,UI、网络、内存、监控等等。本文也简单介绍了一下原理,但是实际实现方式还是仔细看代码更为确切。作为辅助类的工具,可以在调试方面提供到比较实时的反馈(例如测试找你反馈bug的时候,不用连个线去 debug 或者传日志一点点看),有需要可以一用。
+
+- Github 地址:
+https://github.com/didi/DoraemonKit/tree/master/Flutter
+
+- Pub 仓库地址:
+https://pub.dev/packages/dokit
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#145-2021.01.18.md b/Reports/2021/#145-2021.01.18.md
new file mode 100644
index 000000000..0ad6225aa
--- /dev/null
+++ b/Reports/2021/#145-2021.01.18.md
@@ -0,0 +1,122 @@
+# 老司机 iOS 周报 #145 | 2021-01-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC20
+
+本周在周报公众号上我们推送了 3 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
+
+- [RealityKit 的新变化:让构建的场景更逼真、趣味](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247488833&idx=1&sn=0ac21f58f9a4138df4f7b18b205880d9)
+- [探索 ARKit 4](https://mp.weixin.qq.com/s/5fKY9q071JcBWK4GVwH0Vg)
+- [美化 Mac Catalyst App](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247488690&idx=1&sn=e3a5a68b7782592583144fb8f3afb6e9&chksm=eaa28bb9ddd502afeb72166541a8975f6dc651e186ba8b6d6fee7ae60680e884617b58f11a89&scene=178&cur_album_id=1499758126315683840#rd)
+
+## 新闻
+
+### 🌟 🐕 [Flutter 2021 RoadMap](https://github.com/flutter/flutter/wiki/Roadmap)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):按照国际惯例,最近 Flutter 官方放出了 2021 年的 Flutter RoadMap,透过这份 RoadMap 我们可以清晰的了解官方团队今年的工作,2021 年 Flutter 官方主要发力在以下几点:
+
+- 空安全
+- Android & iOS 资源下载优化,新特性支持,降低混合开发复杂度等
+- Web & Desktop
+- 开发体验提升
+- 生态建设
+- 质量提升
+- 新功能开发
+- 版本发布节奏,全年 4 个稳定版本,每月一个 beta 版本
+
+## 文章
+
+### 🌟 🐕 [抖音品质建设 - iOS 安装包大小优化实践篇](https://mp.weixin.qq.com/s/LSP8kC09zjb-sDjgZaikbg)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):包大小是 App 重要的基础体验指标之一,本文为大家介绍了抖音在优化安装包大小方向做的一些探索和尝试,包括:
+
+- AppStore 对安装包的限制沿革以及 App 花费精力优化 iOS 安装包将获得什么收益
+- 如何去分析一个安装包
+- 如何在线下准确把控安装包大小对 AppStore 上影响
+- 常见的一些包大小优化方式
+- 一些影响包大小的编码习惯
+
+### 🐕 [Qcon 演讲实录 | XQUIC 与多路径传输技术 Multipath QUIC](https://mp.weixin.qq.com/s/3dnidnhCW-61PS5Stlb0Iw)
+
+[@老驴](https://www.weibo.com/6090610445):随着移动互联网的发展,传统 TCP 越来越难以满足新的移动互联网需求,于是增强型 UDP 越来越受到大家的注意,获得了高速发展。阿里团队的这篇文章介绍了基于 QUIC 标准的阿里自研版本 XQUIC 以及在此基础上的 Multipathh QUIC。虽然截止到发稿时,阿里尚未开源 XQUIC,但是其中的一些设计思路也值得借鉴。
+
+### 🐕 [手机阿里端智能方案演进](https://mp.weixin.qq.com/s/oT5jQYQkQd-09ktFXS_OYg)
+
+[@莲叔](https://github.com/aaaron7):端智能可以说是最近两年移动端最具有未来感的技术方向。从苹果倾力打造的 CoreML 日趋成熟,到 Google 针对 TFLite 的持续优化以及推出类似 MediaPipe 这样的端侧 AI 框架,都代表这个方向并不是空穴来风的, 而是实打实的场景和业务赋能。端智能从场景上维度,一般分为两大类,首先是视觉图像类,主要通过人脸、手势、前后景分割等模型服务于拍摄、互动、相册等应用,已经日趋成熟,能力也越来越强。而另一类则是策略类,即是通过算法对端上的用户行为数据进行实时的挖掘和计算,来预测用户对于内容、功能的喜好或者耐受度,进而匹配相应的措施来引导用户。后一种还不算成熟,但阿里整体在后一种场景上已经有了比较多的探索与收获。
+
+本篇文章围绕 1688 团队决策类场景的探索,介绍了决策类端智能工程化的核心组成部分,虽然没有讲太多技术细节,但对于端智能而言,方案和场景其实才是最核心也是最有价值的。强烈建议对于希望在业务中应用和落地端智能的团队参考。
+
+### 🐕 [iOS 性能监控:Runloop 卡顿监控的坑](https://mp.weixin.qq.com/s/vMRQ0VuHLxpaY9oCNd5G8w)
+
+[@Leo](https://github.com/leomobiledeveloper):本文通过分析 __CFRunLoopDoObservers 函数 和 CFRunLoopAddObserver 函数的内部逻辑,分析了网络上广泛流传的 Runloop 卡顿监测方案 存在低可用性问题的原因,并给出了一份高可用的 Runloop 卡顿监测方案。
+
+### 🐕 [Building On-Call Culture at GitHub](https://github.blog/2021-01-06-building-on-call-culture-at-github/)
+
+[@AidenRao](https://weibo.com/AidenRao):如何建立高效的 on-call 机制,GitHub 在 blog 分享了他们在这方面的经验。
+
+- 推出新系统,将文件和服务进行关联,服务分配到团队。团队发生变化,文件所有权也更容易跟着变化。
+- 将所有警报进行拆分, 分配到各团队,清理不再需要的警报。
+- 做好生活与工作的平衡,不同时区的团队成员,一起进行 24 小时轮值。on-call 顾不过来时,团队成员也需要相互支持。
+- 没有 on-call 任务的时候,更新运行手册,调整嘈杂的警报,持续改善 on-call 体验。
+
+### 🐕 [从 Mach-O 角度谈谈 Swift 和 OC 的存储差异](https://www.jianshu.com/p/ef0ff6ee6bc6)
+
+[@Damien](https://github.com/ZengyiMa):本文从二进制的角度初步介绍了 Swift 与 OC 的差异性,包括 Swift 在可执行文件中函数表的存储结构、函数的存储结构等,作者从动态调用开始引入思考,逐渐探索 Swift 的二进制存储。以及从最终的结论来证明 Swift 动态调用的局限性。对于 Swift 初学者有很强的学习价值。
+
+### 🐎 [Keep private information out of your logs with Swift](https://olegdreyman.medium.com/keep-private-information-out-of-your-logs-with-swift-bbd2fbcd9a40)
+
+[@EyreFree](https://github.com/EyreFree):在实际的 App 开发 & 维护过程中,我们经常会遇到将用户的错误日志等数据上传到服务端来进行排查的场景,但在这些日志中可能会包含一些用户的敏感信息,绝大部分情况下我们排查软件错误不需要了解这些具体的用户隐私数据,本文介绍了在 Swift 中如何利用 `Property Wrapper` 将敏感数据从日志中排除,快来了解一下吧。
+
+### 🐕 [ARM64 撬开逆向大门](https://mp.weixin.qq.com/s/8HQd6st7ZvUC5f4TZ1cBWg)
+
+ARM64 相比我们都不陌生,苹果较新的机型基本都是基于 ARM64 架构的。掌握一些 ARM64 的汇编只是对我们日常开发很有帮助,例如一些 crash 在系统库里面的,利用汇编调试会很有帮助。本文虽然开篇是针对安卓来说的,但文中关于 ARM64 汇编的介绍,以及一些指令的用法等其实也是通用的。
+
+### 🐕 [Flutter 的性能分析、工程架构与细节处理](https://mp.weixin.qq.com/s/0R5UnVFlVbLKoV__s66HnA)
+
+[@邦Ben](https://weibo.com/linwenbang):有道智云技术团队将从性能、架构、适配等多个方面进行讲解实践过程中的一些实际问题,值得一看。其中还包括了 Flutter Web 的 Demo,Flutter Web Google 还在持续优化,这部分可以拭目以待。文章中也提及到了 `Flare` (动画制作工具)制作 Flutter 动画,如果对动画方面有需求的,也可以单独进行了解。
+
+- Flare 网址:https://www.2dimensions.com
+
+### 🐎 [如何排查无法复现的系统内部 Crash?](https://juejin.cn/post/6916048281113985032)
+
+[@水水](https://www.xuyanlan.com): 作者从自身遇到的一个 Crash 出发,记录了从分析、假设、模拟复现、运行分析、修复 Crash 的一个过程。是非常好的一个 Crash 解决方法。希望能够给读者有所启发。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> **百度网盘 - 北京 - iOS/Android/Flutter/音视频 研发工程师**
+>
+> 百度网盘是行业 Top1 的云存储产品,已经为超过 7 亿用户提供云服务。一刻相册是「百度网盘」团队出品的云相册 App,经过一年多的发展,已经跃居相册行业 Top2。部门有完善的分享培训体系,有业务和技术挑战。目前,> 部门业务处在新的高速发展时期,长期大量招人,实习、应届、社招经验不限,职级不限,欢迎投递简历。
+>
+> 简历发送至 xuyafei01@baidu.com,或者添加微信 xyf65803387 了解细节。
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#146-2021.01.25.md b/Reports/2021/#146-2021.01.25.md
new file mode 100644
index 000000000..e489816e5
--- /dev/null
+++ b/Reports/2021/#146-2021.01.25.md
@@ -0,0 +1,88 @@
+# 老司机 iOS 周报 #146 | 2020-01-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+
+## 文章
+
+### 🌟 🐕 [离线 Hybrid 容器如何做到接近 100% 秒开?](https://mp.weixin.qq.com/s/inAFLg85TfmXOWXS50pEfg)
+
+[@JonyFang](https://github.com/JonyFang):普惠四轮出行业务技术团队针对 Hybrid 容器进行的技术升级,本篇主要的脉络如下:
+
+- 目前 Hybrid 容器遇到的问题
+- 问题分析及解决方案
+- 每个点的详细方案和线上效果
+- 整体优化后的线上效果
+- 后续规划和进一步探索
+
+从发现问题、针对问题提出解决方案、到上线效果分析,整个实践的过程和思考,值得一看。
+
+### 🌟 🐕 [非礼勿视!Objective-C 里的 eval](https://mp.weixin.qq.com/s/6dwi96sQ222KVsgbt4FW5A)
+
+[@AidenRao](https://weibo.com/AidenRao):本文从一个 CTF 题目展开,从官方文档结合反汇编分析,挖掘出语言和运行时鲜为人知却可能被滥用的机制。谁曾想到编译型的语言竟然也内置支持 eval(允许将输入的字符串变量当作代码动态执行)?
+
+### 🐎 [First stable release of SwiftWasm 5.3 is now available](https://forums.swift.org/t/first-stable-release-of-swiftwasm-5-3-is-now-available/41868/7)
+
+[@xiaofei86](https://weibo.com/xuyafei86):[WebAssembly](https://developer.mozilla.org/zh-CN/docs/WebAssembly) 是一种新的[低级语言](https://zh.wikipedia.org/zh-hans/低级语言)(机器代码或汇编语言),旨在让开发者能运用自己熟悉的编程语言编译,再藉虚拟机引擎在浏览器内运行。其开发团队来自 Mozilla、Google、Microsoft、Apple,代表着四大网络浏览器 Firefox、Chrome、Microsoft Edge、Safari。
+
+2019 年 WebAssembly 被 W3C 推荐为 Web 的第四种语言,目前支持 C、C++、Rust、Go、Java、C#。现在,随着 SwiftWasm 5.3 第一个稳定版本现的发布,Swift 也被纳入 WebAssembly 的支持范围,这意味着您可以构建完全用 Swift 编写的浏览器应用程序。有兴趣在更多平台应用 Swift 的读者可以阅读原文详细了解。
+
+### 🐕 [Flutter 高性能、多功能的全场景滚动容器,一定要看!](https://mp.weixin.qq.com/s?__biz=MzU4MDUxOTI5NA==&mid=2247486656&idx=1&sn=81e14ac99be2d75b5842529b8c694244&chksm=fd54d8d1ca2351c7ffe5e981aba49443b6aae2642bda6ac7a8951eabddd8a4307adcb98f6991&scene=0&xtrack=1#rd)
+
+[@邦Ben](https://weibo.com/linwenbang):闲鱼技术设计了一套流式场景下通用的页面布局解决方案 PowerScrollView。主要为解决性能以及曝光等基础需求。性能优化方面从局部刷新,分帧渲染优化。从文章实践结果来说:有不错的优化,但是在低端机上上表现依旧需要继续优化。可惜方案还没有开源,这里大家做优化的话可以进行思路上的参考。
+
+### 🐕 [HTTPS 温故知新](https://mp.weixin.qq.com/s?__biz=MzkzMjExMTAwMQ==&mid=2247488855&idx=1&sn=ad55f4338dd53b9f92ac0fa53b7df6f2&chksm=c261e2a1f5166bb79f77fa14b9cf987c9a7c5f3ec7b4bddf75807f06cf6bdda8d7ada71307a3&scene=178&cur_album_id=1501778677406203906#rd)
+
+[@水水](https://www.xuyanlan.com): 一缕殇流化隐半边冰霜的 HTTPS 温故知新系列文章,相信读者们肯定能感受到『温故』亦或 『知新』。 HTTPS 温故知新系列篇合集入口: https://halfrost.com/tag/https/
+
+### 🐕 [让 Flutter 在鸿蒙系统上跑起来](https://mp.weixin.qq.com/s/vTWZRaxvsOS_VRjfh6l4FQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):鸿蒙系统 (HarmonyOS)是华为推出的一款分布式操作系统,那么如何在保证开发迭代效率的前提下,以相对低的成本将移动应用快速移植到鸿蒙平台上呢?美团外卖 MTFlutter 团队近期做了一次技术探索,成功地实现了 Flutter 对于鸿蒙系统的原生支持。
+
+### 🐢 [百度App Objective-C/Swift 组件化混编之路(三)- 实践篇](https://mp.weixin.qq.com/s/-rBtXtkelcPQBMjQhwu07w)
+本文是『百度App Objective-C/Swift 组件化混编之路』系列文章的第三篇,本文重点介绍了百度App 组件化 Objective-C/Swift 组件化混编改造实践,感兴趣的同学可以看下,建议先看阅读完前两篇文章:
+[百度App Objective-C/Swift 组件化混编之路(一)](https://mp.weixin.qq.com/s?__biz=MzUxMzk2ODI1NQ==&mid=2247484177&idx=1&sn=df772d2134ad814bf0f8fafb883d8f77&chksm=f94c5201ce3bdb1787ea4f310de02b0a967983a8de3647034a2dc3c26c520fe493632aeb8be3&scene=21#wechat_redirect)
+[百度App Objective-C/Swift 组件化混编之路(二)- 工程化](https://mp.weixin.qq.com/s?__biz=MzUxMzk2ODI1NQ==&mid=2247484191&idx=1&sn=b78cab8a22733e61e4a8b92e36f43ea5&scene=21#wechat_redirect)
+
+## 工具
+
+### [swift-create-xcframework](https://github.com/unsignedapps/swift-create-xcframework)
+
+[@四娘](https://kemchenj.github.io/):基于 xcodebuild 封装的一个 CLI 工具,可以将 Swift Package 打包成 XCFramework:
+
+```shell
+swift create-xcframework
+```
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#147-2021.02.01.md b/Reports/2021/#147-2021.02.01.md
new file mode 100644
index 000000000..821e24c6e
--- /dev/null
+++ b/Reports/2021/#147-2021.02.01.md
@@ -0,0 +1,109 @@
+# 老司机 iOS 周报 #147 | 2021-02-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+## 新闻
+
+### 🌟 🐕 [AppTrackingTransparency 的要求即将生效](https://developer.apple.com/cn/news/?id=8rm6injj)
+
+[@极速男孩](https://github.com/ztlyyznf001):苹果在初春发布的 iOS 14、iPadOS 14 和 Apple tvOS 14 更新版本中要求 APP 通过 AppTrackingTransparency 证的用户同意来获取广告标识符,在未征得同意的情况下,设备的广告标识符都为零。同时增加 app 的“私人点击测量”支持,来让用户可以测量网站的广告活动。
+
+
+## 文章
+
+
+### 🐢 🌟 [抖音品质建设 - iOS启动优化《实战篇》](https://mp.weixin.qq.com/s/ekXfFu4-rmZpHwzFuKiLXw)
+
+[@Leo](https://github.com/leomobiledeveloper):文章从启动监控,分析工具以及最佳实践三个角度详细介绍了抖音 iOS 客户端是如何做启动优化的。即包括了启动任务管控,预加载等常规方案,又介绍了动态库懒加载,background fetch 等非常规方案,推荐阅读。
+
+### 🐕 🌟 [基于 Flutter 的移动中间件体系和音视频技术](https://mp.weixin.qq.com/s/9b4T9dU5PUaUSzwi32GSGQ)
+
+[@zvving](https://github.com/zvving):由 UC 团队为大家带来的 Flutter 引擎技术沙龙分享第三篇,从播放器视角分析如何拆分、共建 Flutter 业务,并总结在业务定制、播放性能、高效视频编辑部分的实践经验。有相关领域探索诉求的小伙伴不容错过。
+
+### 🐕 [谈 UIKit 和 CoreAnimation 在 iOS 渲染中的角色(上)](https://mp.weixin.qq.com/s/PgdH8x8nrC9SRU6nMErH8Q)
+
+[@老驴](https://www.weibo.com/6090610445):iOS 开发者不可避免的就是写各色各样的 UI 了,而写 UI 又不能避免用到 UIKit 和 CoreAnimation 这两个 framework 了。只是平时大家也只是用 UIKit 和 CoreAnimation,很少会去深究背后是怎么工作的。这篇文章就很好的介绍了 iOS 渲染是怎么工作的。文章还有下部分,见参考链接。
+
+参考链接:
+[谈 UIKit 和 CoreAnimation 在 iOS 渲染中的角色(下)](https://mp.weixin.qq.com/s?__biz=MzA5MTM1NTc2Ng==&mid=2458325030&idx=2&sn=473e586bfde4b73d70fe0a57d66dfe28&chksm=870e1f3fb07996296305bafcc8a0801b0c57619635a3bc7a8e4b836e7fc6553e8b92879d3b78&cur_album_id=1700205981982343172&scene=189#rd)
+
+### 🐕 [WKWebView 请求拦截探索与实践](https://mp.weixin.qq.com/s/u1fzioTZFLUpDEhSzUMRug)
+
+[@JonyFang](https://github.com/JonyFang):想要达到 WebView 加载速度提升的技术方案之一是离线包技术,离线包技术中最关键的环节是拦截 WebView 发出的请求将资源映射到本地离线包。而对于 WKWebView 的请求拦截,iOS 原生并没有提供直接的请求拦截能力,本篇主要是围绕 WKWebView 的请求拦截进行展开。
+
+网易云音乐大前端团队通过将 iOS 原生 `WKURLSchemeHandler` 与 `JavaScript` 脚本注入结合的方式,实现了 WKWebView 在离线加载、免流等业务中需要的请求拦截能力,解决了拦截过程中可能存在的重定向、请求体丢失、Cookie 不同步等问题,并能以页面为维度进行拦截隔离。
+
+
+对于体积较大的网页,离线包技术能够一定程度上明显的降低网络加载耗时的问题。
+
+### 🐕 [听说你想写个虚拟机(一)?](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247484228&idx=1&sn=704addfc6b1e50c7dedf1ad61787358d&chksm=cf558c8cf822059a11e9062f73266ebc32562f2437a29c9a06ce4ff9d298b637b6b699edd20d&token=1309308849&lang=zh_CN#rd)
+
+[@老驴](https://www.weibo.com/6090610445):大部分开发者应该都或多或少用过虚拟机,但是也很少有人去深究过虚拟机是怎么工作的。这篇文章就带你从零开始写虚拟机,看懂这篇文章所需要的,只是一点基础的 C 语言知识。作者在文章最后也把代码放到了 Github 上,有兴趣的话可以来学习一下。
+
+### 🐕 [关于 SwiftUI State 的一些细节](https://onevcat.com/2021/01/swiftui-state/)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了作者在 State 的使用上发现的一个问题,并通过研究 State 的实现机制来给出了相应的解决方案。也同时类比了 StateObject、Binding 和 ObservedObject 在使用上的相同点和不同点。
+
+### 🐢 [Core Animation 动画全析](https://juejin.cn/post/6920908515758309383#heading-41)
+
+[@AidenRao](https://weibo.com/AidenRao):《[iOS 核心动画高级技巧](https://zsisme.gitbooks.io/ios-/content/index.html)》是一本不错的书,文章作者对其总结的很精髓,并附上了很多自己的 demo,很适合做学习动画的阅读资料。
+
+## 工具
+
+### [Sloc Cloc and Code](https://github.com/boyter/scc)
+
+[@EyreFree](https://github.com/EyreFree):SCC 是一个非常快速精确的代码计数器,一个用 Go 开发的类似于 cloc、sloccount 和 tokei 的工具。用于计算许多编程语言中源代码的物理行、空行、注释行和物理行。
+
+## 代码
+
+### [SwiftUIKitView](https://github.com/AvdLee/SwiftUIKitView)
+
+[@四娘](https://kemchenj.github.io/):这个库让我们可以在 SwiftUI 很方便地直接使用 UIKit 的 View:
+
+```swift
+import SwiftUI
+import SwiftUIKitView
+
+struct SwiftUIwithUIKitView: View {
+ var body: some View {
+ NavigationView {
+ UILabel() // <- 这里可以使用任何 `UIKit` 的 view.
+ .swiftUIView(layout: .intrinsic) // <- 这个函数会返回一个 SwiftUI 的 `View`.
+ .set(\.text, to: "Hello, UIKit!") // <- 使用 KeyPath 来更新数据
+ .set(\.backgroundColor, to: UIColor(named: "swiftlee_orange"))
+ .fixedSize()
+ .navigationTitle("Use UIKit in SwiftUI")
+ }
+ }
+}
+```
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#148-2021.02.08.md b/Reports/2021/#148-2021.02.08.md
new file mode 100644
index 000000000..b07ec1034
--- /dev/null
+++ b/Reports/2021/#148-2021.02.08.md
@@ -0,0 +1,156 @@
+# 老司机 iOS 周报 #148 | 2020-02-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 通知
+
+[@Parsifal](https://github.com/ParsifalC):这是春节前最后一期周报了,给大家拜个早年,我们节后再见!
+
+## 文章
+
+### 🌟 🐕 [今日头条 iOS 安装包大小优化 - 新阶段、新实践](https://mp.weixin.qq.com/s/oyqAa8wKdioI5ZDG5LjkfA)
+
+[@Damien](https://github.com/ZengyiMa): 随着业务的发展,App 包大小也会水涨船高,为了更好的用户体验,减少用户等待时间,如何减少包大小是 App 各项优化指标中重要的一环。经过三年的发展,今日头条平台架构为我们带来更多的优化包大小手段:
+
+- 使用合适的资源压缩配置
+- 使用 RGB with palette 压缩图片
+- Assets.car 合并
+- 文本文件压缩
+- 使用 -Oz 编译参数
+- 使用链接时优化 LTO
+- 修正 Exported Symbols 配置
+- 属性动态化
+- __TEXT 段迁移
+- 二进制段压缩
+
+并且每项优化的收益也做了详尽的统计和分析。我们做 App 优化,需要静下心来做技术攻坚而且还需要具有数据意识,用数据来说话!
+
+### 🌟 🐕 [图解 fishhook 原理](https://mp.weixin.qq.com/s/dcQrR4knN0aGDPy2hsrgmg)
+
+[@老驴](https://www.weibo.com/6090610445):这是一篇目前非常不错的详解 fishhook 的文章,通过图文配合的方式来详细解释 fishhook 的原理。本文讲述 fishhook 所涉及到的最小知识点,完全抛开源码,旨在简单清晰,直击要害。以图代码,带你彻底弄清 fishhook 的原理。
+
+### 🐕 [iOS 证书幕后原理](http://chuquan.me/2020/03/22/ios-certificate-principle/)
+
+[@AidenRao](https://weibo.com/AidenRao):非对称加密贯穿于 iOS 开发之中,在日常的 iOS 开发中,无论是新手还是老鸟,总是会遇到各种与证书、签名有关的问题。作者理清其中的原理,研究并整理出这篇文章。方便读者结合原理,更快的找到证书、签名有关问题的解决方案。
+
+### 🐕 [听说你想写个虚拟机(二)?](https://mp.weixin.qq.com/s/m-gimtsk-cYQz-kQS-W26w)
+
+[@Leo](https://github.com/leomobiledeveloper):虚拟机的概念大家或多或少都听说过,但你是否想过如何实现一个虚拟机呢?“写个虚拟机的文章”是一个系列,这次推荐的是第二/三章节,第二章介绍了寄存器的定义、几个新指令的实现,第三章则从多个角度讲解了如何实现一个更贴近真实定义的虚拟机。第三章链接:
+
+- [听说你想写个虚拟机(三)?](https://mp.weixin.qq.com/s/GKYEGkDmTxxBmpd4cton5g)
+
+> 由 [silan-liu](https://github.com/silan-liu) 推荐
+
+### 🐕 [AVPlayer 實踐本地 Cache 功能大全](https://medium.com/zrealm-ios-dev/avplayer-%E5%AF%A6%E8%B8%90%E6%9C%AC%E5%9C%B0-cache-%E5%8A%9F%E8%83%BD%E5%A4%A7%E5%85%A8-6ce488898003)
+
+[@J_Knight_](https://github.com/knightsj):本文结合实际代码介绍了 AVPlayer 的缓存实现方案,该缓存方案能够实现的目标是:
+
+1. 本地缓存播放过的音乐,且在播放音乐前先尝试读取缓存
+2. 可以设置缓存上限,超过后该上限后则删除最旧的缓存
+3. 缓存处理不影响播放机制
+
+而且在具体介绍方案之前也介绍了所需要的背景知识,如 HTTP Range,AVPlayer 处理 AVURLAsset 的方式等等。
+
+### 🐕 [What’s new in Swift 5.4?](https://www.hackingwithswift.com/articles/228/whats-new-in-swift-5-4)
+
+[@老峰](https://github.com/gesantung): Swift 5.4,带来了一些巨大的编译改进,并大大提高了增量编译的速度,同时也包含不少新特性:
+
+- 改进的隐式成员语法
+- 函数中支持多个可变参数
+- Result builders
+- 局部函数支持重载
+- Property wrappers 支持局部变量
+
+Swift 5.4 已经在 Xcode 12.5 beta 版中发布,感兴趣的读者快来升级体验吧。
+
+### 🐢 [Aion - 拥抱 Flutter 生态的动态化方案](https://mp.weixin.qq.com/s/mPkx9b07xCkokxxbGc7grA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 又一个 Flutter 动态化方案,目前业内对于 Flutter 动态化的探索可谓百花齐放了,大体上都是以下两种:
+
+- Web 跟 Flutter 的一个结合,就是前面说的利用 Web 生态 js 的高动态性跟 Flutter 本身的渲染流程去做结合,达到一个既能够满足高动态性
+- Simple VM,用 Dart 代码实现 Widget 视图界面,经过前端的编译生成 AST 产物,然后在编译阶段将 AST 产物转化成 JSON 的数据描述,JSON 文件下发到客户端,在 Dart 层对它做一次解析,来完成动态化
+
+以上两种方案在对比原生 AOT 时,多多少少差了那么一点儿,UC 的同学对他们 Flutter 动态化的要求是:无限于接近于现有的 AOT 模式。所以有了这个新的方案:基于 Kernel ByteCode 解析。本文详细的分析和对比了多种方案的优缺点,来表明为何选择 KBC,文章也详细描述了该技术方案落地的过程中遇到的问题以及是如何解决的。
+
+## 工具
+
+### [tidevice](https://github.com/alibaba/taobao-iphone-device)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一个支持运行在 Mac,Linux,Windows 上,能够用于与 iOS 设备进行通信,提供诸多功能的一个工具,包括:
+- 截图
+- 获取手机信息
+- ipa 包的安装和卸载
+- 根据 bundleID 启动和停止应用
+- 列出安装应用信息
+- 模拟Xcode运行XCTest
+- 获取指定应用性能(CPU,MEM,FPS)
+- ...
+
+## 代码
+
+### [Pulse: Structured Logging System](https://github.com/kean/Pulse)
+
+[@zvving](https://github.com/zvving):基于 [SwiftLog](https://github.com/apple/swift-log) 和 CoreData 实现的日志框架,使用 SwiftUI 为 iOS/macOS 双平台提供日志浏览功能,同时对网络日志提供更清晰的展示视图。
+库还在早期阶段,对日志及 SwiftUI 实现感兴趣的同学欢迎参考。
+
+### [Twitter Text Editor](https://github.com/twitter/TwitterTextEditor)
+
+[@xiaofei86](https://weibo.com/xuyafei86/):Twitter 开源了一个独立的、灵活的、功能齐全的富文本编辑器。提供了一个健壮的文本属性更新逻辑、扩展的文本编辑事件,使用基于委托的便捷 API 安全的处理文本输入事件。
+
+```swift
+import TwitterTextEditor
+
+final class MyViewController: UIViewController {
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ let textEditorView = TextEditorView()
+ textEditorView.text = "Meow"
+ textEditorView.textAttributesDelegate = self
+ }
+}
+
+extension MyViewController: TextEditorViewTextAttributesDelegate {
+ func textEditorView(_ textEditorView: TextEditorView,
+ updateAttributedString attributedString: NSAttributedString,
+ completion: @escaping (NSAttributedString?) -> Void) {
+
+ }
+}
+```
+
+### [awesome-function-builders](https://github.com/carson-katri/awesome-function-builders)
+
+[@JonyFang](https://github.com/JonyFang):Swift 5.1 引入的特性 @functionBuilder,大大增强了 Swift 语言构建内置 DSL 的能力,`awesome-function-builders` 可以作为使用参考。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#149-2021.03.01.md b/Reports/2021/#149-2021.03.01.md
new file mode 100644
index 000000000..69963f580
--- /dev/null
+++ b/Reports/2021/#149-2021.03.01.md
@@ -0,0 +1,86 @@
+# 老司机 iOS 周报 #149 | 2021-03-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐕 [一款可让大型 iOS 工程编译速度提升 50% 的工具](https://mp.weixin.qq.com/s/uBpkelG8q_xmskWPYyWONA)
+
+[@JonyFang](https://github.com/JonyFang):本文介绍了美团平台自研的一款 cocoapods 插件 `cocoapods-hmap-prebuilt`,该插件以 Header Map 技术为基础,进一步提升代码的编译速度,完善头文件的搜索机制,通过该插件可以大幅提升 iOS 工程代码的编译速度。文章前半部分主要介绍相关的原理,后面主要阐述在工程层面的实践,希望能给从事相关开发的同学带来一些帮助或者启发。
+
+### 🐢 [Flutter 路由我定](https://juejin.cn/post/6932115520405635079)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 1.22 的版本更新了路由库, 目前最新的是 Navigator 2.0, 本文算是一个比较完整的 Flutter 路由科普文,对于 Flutter 路由不熟悉的同学,推荐仔细阅读.
+
+### 🐕 [Is Apple Banning Free Analytics SDKs?](https://steamclock.com/blog/2021/02/apple-tracking-analytics-sdks/)
+
+[@享耳先森](https://github.com/iblacksun):iOS 14.5 发布时间临近,新版系统中,如果 App 使用了 IDFA,系统将请求用户授权,本文探讨了新的隐私机制对 App 开发者及统计 SDK 开发者有哪些影响、以及该如何应对。
+
+### 🚧 🐕 [Universal Links 新鮮事](https://medium.com/zrealm-ios-dev/universal-links-%E6%96%B0%E9%AE%AE%E4%BA%8B-12c5026da33d)
+
+[@红纸](https://github.com/nianran):Universal Links 在 iOS 14 开始使用 CDN 来更新配置文件,并且加入了新的调试模式(在 applinks:domain.com 中加入 ?mode=developer)来解决 CDN 带来的更新延迟问题。本文的后半文,详细的介绍了如何搭建一个简易的本地测试环境来调试配置文件。
+
+### 🐕 [飞猪 Flutter 技术演进及业务改造实践](https://mp.weixin.qq.com/s/08EK76jn-zkqS9flbrAbRA)
+
+[@邦Ben](https://weibo.com/linwenbang):该文介绍了飞猪团队在 Flutter 上的探索以及落地实践效果。其中重点提及了 Web on Flutter 的尝试,大致流程为:h5 js 代码解析后运行对接 Flutter Render 机制,为了提高 web 显示效果。同时也介绍了 XRay 自动化测试,一套截图识别的自动化测试方案,最大的好处是和具体平台代码无关,跨端效果很好。这也是大部分业务自动化方案采用的方案,有兴趣的童鞋也可以多看下。
+
+### 🐕 [听说你想写个虚拟机(四)?](https://mp.weixin.qq.com/s/LHHDlhbuAMe8J6T3SPSaVg)
+
+[@Leo](https://github.com/leomobiledeveloper):虚拟机的概念大家或多或少都听说过,但你是否想过如何实现一个虚拟机呢?“写个虚拟机”文章是一个系列,这次推荐的是第四五六章节,作者从一个最小虚拟机开始介绍,到完成 LC-3 这个更加贴近真实意义的虚拟机。一步步从简单,到复杂,由浅入深,慢慢掀开了虚拟机的神秘面纱。
+
+- [听说你想写个虚拟机(五)?](https://mp.weixin.qq.com/s/wTrLJNFlCZOuuPfIOJV_tA)
+- [听说你想写个虚拟机(六)?](https://mp.weixin.qq.com/s/ecBgY_fiGVVs5zOD7Z1vtQ)
+
+> 由 [silan-liu](https://github.com/silan-liu) 推荐
+
+## 代码
+
+### [gRPC Swift 1.0.0](https://github.com/grpc/grpc-swift/releases/tag/1.0.0)
+
+[@EyreFree](https://github.com/EyreFree):gRPC 是一个高性能、开源和通用的 RPC 框架,它基于 HTTP/2 标准设计,带来了双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性,使得其在移动设备上表现更好、更省电和节省空间占用。本项目 grpc-swift 是它的 Swift 实现,在 4 天前发布了 1.0.0 正式版,可用于配合 Apple 官方的 [Swift Protobuf](https://github.com/apple/swift-protobuf) 一起使用。
+
+### [stream-chat-swift](https://github.com/getstream/stream-chat-swift/)
+
+[@AidenRao](https://weibo.com/AidenRao):StreamChat SDK 附带有全部 UI(用户界面)组件,可在几分钟内实现 IM 应用程序的构建。这些组件可以在 iOS 和 macOS 之间无缝转换,只需在其行为上做出一些细微改变,就能实现每个平台所期待的用户体验,目前 SDK 已完全开源,非常适合学习 & 使用。
+
+### 🐕 [EasySwiftHook](https://github.com/623637646/SwiftHook)
+[@zvving](https://github.com/zvving):Swift 中 hook 手段有限,对于 Dynamic Dispatch Function 还是有一些『可乘之机』。EasySwiftHook 基于 libffi 以及 objc runtime,hook 代码相对易读,支持 NSObject、Pure Swift Class,兼容 KVO、deinit 等。虽然应用受限于动态分发场景,依旧是不错的学习材料。
+
+> 来自 [Yanni Wang](https://github.com/623637646) 自荐
+
+### [ScheduledNotificationsViewController](https://github.com/nicephoton/ScheduledNotificationsViewController)
+
+[@老峰](https://github.com/gesantung):ScheduledNotificationsViewController 是一个本地通知调试工具,接入简单,可以方便的调试本地通知。支持查看待发送,已发送通知列表;支持点击直接发送;支持深色模式。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#150-2021.03.08.md b/Reports/2021/#150-2021.03.08.md
new file mode 100644
index 000000000..39ea002e6
--- /dev/null
+++ b/Reports/2021/#150-2021.03.08.md
@@ -0,0 +1,104 @@
+# 老司机 iOS 周报 #150 | 2021-03-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🐢 [Flutter 2 正式发布](https://mp.weixin.qq.com/s/tJe2ScLgKWFTybpBtDl2TA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 2 发布了,这次 Flutter 团队为大家带来了成吨的新功能以及更稳定的性能。通过 Flutter 2,你可以使用相同的代码库为五种操作系统构建原生应用: iOS、Android、Windows、macOS 和 Linux;以及为 Chrome、Firefox、Safari 和 Edge 等浏览器打造 web 体验。Flutter 甚至可以嵌入到汽车、电视和智能家电,为环境计算提供最普适、可移植的体验。小编汇总一些重大的功能,供大家速览:
+
+- Flutter web 支持,且达到了稳定版
+- Flutter 2 对于桌面、可折叠和嵌入式设备上的支持
+- Dart 健全的空安全稳定版
+- Flutter 多实例支持
+- 新工具: Flutter Fix
+- 新 Widget: Autocomplete、ScaffoldMessenger 等
+
+这波 Flutter 官方团队简直输出爆炸有木有, 所以小编另推荐几篇 Flutter 2 相关的文章辅助阅读:
+
+- [无限可能 | Flutter 2 重点更新一览](https://mp.weixin.qq.com/s/EzS3dtpZB_i9p358qqlBpg)
+- [Flutter2.0重磅发布!带你一文打尽Flutter Engage](https://mp.weixin.qq.com/s/qy6ZdZmULOgwBEiqT4yGew)
+- [What’s New in Flutter 2](https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65)
+- [【译】Flutter 2.0 正式版发布,全平台 Stable](https://mp.weixin.qq.com/s/rqf4tJR23Yzf3L3J5JY3Qw)
+
+## 文章
+
+### 🌟 🐢 [从预编译的角度理解 Swift 与 Objective-C 及混编机制](https://mp.weixin.qq.com/s/gI9vL1KlHuMzMoWWf2tnIw)
+
+[@享耳先森](https://github.com/iblacksun):相信不少 iOSer 对于编译器如何将你的源码编译成可执行文件一直都是一知半解,本文从编译器预编译阶段的如何查找头文件开始,深入剖析项目中使用到的技术和各种参数的作用,由此来指导开发者如何进行混编。
+
+### 🌟 🐢 [深入剖析 JavaScript 编译器/解释器引擎 QuickJS - 多了解些 JavaScript 语言](https://mp.weixin.qq.com/s/sKP1Svn8r8z_VEIlbUcxTg)
+
+[@JonyFang](https://github.com/JonyFang):本文着重介绍了 QuickJS。为了更有助于读者理解 QuickJS,作者在详细介绍和剖析 QuickJS 之前,先引入聊了聊 JavaScript 的背景及 QuickJS 作者的背景;在这之后,会针对 js 语言的一些特性来看这些特性在 QuickJS 是如何解释执行和优化的。相信本篇技术文能够帮助读者加深对 js 语言的理解。
+
+### 🐕 [Hacking native ARM64 binaries to run on the iOS Simulator](https://bogo.wtf/arm64-to-sim.html)
+
+[@老驴](https://www.weibo.com/6090610445):现在有很多同学已经用上了 M1 的开发机了,但是在实际开发中会发现依赖的 SDK 并没有更新对 ARM Mac 原生支持,这会导致在模拟器里编译运行 App 的时候,会继续用 Rosetta 2 的方式来运行。本来就介绍了如何在不改动依赖 SDK 的情况下,在 M1 Mac 上以原生模式来跑。
+
+### 🐢 [How Apple’s Upcoming Two-Step/Two-Factor Enforcement Could Affect Your fastlane Experience](https://www.joshholtz.com/blog/2021/02/17/apples-2fa-with-fastlane.html)
+
+[@极速男孩](https://github.com/ztlyyznf001):苹果在 2021 年二月强制要求所有登录 App Store Connect 开通两步验证或者或者双重认证,这对我们常用的 CI 工具 fastlane 产生了一定的影响,本文主要讲述了这个新规定是如何对 fastlane 产生影响,并给出了一些解决方案和工具。
+
+### 🐎 [XCFrameworks caveats](https://kean.blog/post/xcframeworks-caveats)
+
+[@Damien](https://github.com/ZengyiMa):XCFramework 是 Xcode11 中提出的一个新特性,是由 Xcode 创建的一个可分发的二进制包,它包含了 framework 或 library 的一个或多个变体,因此可以在多个平台上使用。本文作者通过为自己的项目制作 XCFrameworks 过程中所遇到的问题,并且给出对应的解决方案,通过文章,可以让大家在打包 XCFrameworks 少走很多弯路。
+
+### 🐕 [在线教室 iOS 端声音问题综合解决方案](https://mp.weixin.qq.com/s/yFNb0zvPtEjHAtED7-jT0w)
+
+[@AidenRao](https://weibo.com/AidenRao):在线教室场景下,很多功能都需要播放声音,包括课中音视频直播、课后回放、webview 内嵌课件声音(包括音频、视频、音效)、课堂音频、课堂视频、课堂游戏声音、音效声音等。除此之外,教室内还包括很多需要声音录制的功能,包括连麦、跟读、集体发言、聊天语音输入、语音识别等。
+
+教室内这些功能存在各种组合,且对 AVAudioSession 的设置要求存在差异,而 AVAudioSession 又是一个单例,如果没有一个统一管理的逻辑,很容易就出现设置混乱的问题。
+
+文章通过底层原理的分析与实际项目经验,从代码规范、问题兜底、问题报警梳理出一套可行的解决方案。
+
+### 🐕 [函数节流(Throttle)和防抖(Debounce)解析及其iOS实现](https://juejin.cn/post/6933952291142074376)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):对于部分 iOS 开发人员来说,函数节流(Throttle)和防抖((Debounce)这两个专业名词可能会比较陌生。对于连续调用的函数,尤其是触发频率密集、目标函数涉及大量计算时,恰当使用 Throttle 和 Debounce 可以有效提升性能及系统稳定性。作者详细阐述了 Throttle 和 Debounce 的概念及二者间的区别,同时封装开源库 [HWThrottle](https://github.com/HighwayLaw/HWThrottle),该库有以下特点:
+
+- 未使用任何 runtime API,全部由顶层 API 实现
+- 每个业务场景需要使用者自己定义一个实例对象,自行管理生命周期,旨在把对项目的影响控制在最小范围
+- 区分 Throttle 和 Debounce,提供 Leading 和 Trailing 选项
+
+### [Apple M1X benchmark leak](https://www.cpu-monkey.com/en/compare_cpu-apple_m1x-1898-vs-apple_m1-1804)
+
+[@老驴](https://www.weibo.com/6090610445):在苹果发布 M1 之后,也有很多人在期待 M1X 和 M2。现在 M1X 的跑分已经出现在跑分网站上了,有一部分参数也已经泄露。目前看起来 M1X 是一颗 8 大核心 4 小核心的 12 核心处理器,单核性能和 M1 几乎一致,多核性能因为大核心数量翻番得到翻倍,TDP 保持在 35W。在这样的功耗表现下能和 Intel 11700K 多核性能几乎一致,算是非常夸张的了,要知道就算是 PL1,11700K 也要 125W,PL2 更是高达 251W。所以,M1X 的能耗比可以说是非常夸张了。
+
+## 代码
+
+### [AR_100Days](https://github.com/satoshi0212/AR_100Days)
+
+[@老峰](https://github.com/gesantung):WWDC2017 苹果发布了ARKit,基于它就可以实现 AR 比较强大的虚拟增强功能。作者 [Satoshi](https://github.com/satoshi0212) 以 Demo 的形式每天分享一种 AR 效果,目前已经更新 45 个,对 ARKit 感兴趣的读者可以参考学习。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#151-2021.03.15.md b/Reports/2021/#151-2021.03.15.md
new file mode 100644
index 000000000..63d6f67e9
--- /dev/null
+++ b/Reports/2021/#151-2021.03.15.md
@@ -0,0 +1,96 @@
+# 老司机 iOS 周报 #151 | 2021-03-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐢 [内存管理设计精要](https://draveness.me//system-design-memory-management)
+
+在早些年的 iOS 开发中,当一个 App 的内存使用大于 20m 的时候,就会收到系统的 Memory Warning,所以过去开发应用时候,也会基于此做一些优化。虽然近几年随着新机型性能的不断提升,内存越来越大,早已不再受 20m 的限制, 但是,相比于磁盘,内存依然可以算相对稀缺的资源,如果 APP 对内存使用不当,哪怕运行在最新的机型也有可能瞬间 crash 掉。本文是深入研究系统设计方法的系列文章中的一篇,主要讲内存系统的设计精要,对于想要深入了解内存的概念,并更好地使用或者优化内存的管理,本文值得各位读者花时间详细阅读!
+
+### 🌟 🐕 [How Uber Deals with Large iOS App Size](https://eng.uber.com/how-uber-deals-with-large-ios-app-size/)
+
+[@xiaofei86](https://weibo.com/xuyafei86):根据 Uber 的统计,当 App 大小超过 AppStore 流量下载限制时,会导致应用程序安装减少 10%,注册减少 12%,首次预订减少 20%,从而导致收入损失。本文讲述 Uber 如何使用编译优化技术解决此问题,将 Uber App 的代码大小减少 23%,并使代码大小的增长率降低了 2 倍。
+
+使用编译选项 [-Osize](https://swift.org/blog/osize/) 可以在模块内执行优化,编译器会通过 Function Outlining 来将重复代码片段重定向到单个实例实现压缩。但此优化对跨模块的代码则无能为力,这也将是本文的重点。
+
+Uber 开发了自己的 iOS 构建流水线,新的流水线为每个模块生成 LLVM IR,而不是直接生成机器码。然后将所有 LLVM-IR 文件组合成一个大型 IR 文件并进行优化,再输入 [llc](https://llvm.org/docs/CommandGuide/llc.html) 生成机器码。这确保了在识别候选重复片段时,会利用最大相似性,从而实现跨模块的优化。在模块内部,LLVM 在识别时采用的贪心思想也不能实现最优解,Uber 也通过多轮识别的方式进行了优化。
+
+本文的很多方案已经提交到 LLVM。另外,一篇描述 [论文](https://1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com/wp-content/uploads/2021/02/cgo21main-p112-p-dbdebd6-49049-preprint.pdf) 细节的论文也发表在了 "International Symposium on Code Generation and Optimization",感兴趣的同学可以阅读了解。
+
+### 🌟 🐢 [【译】SE-0296 Async/await](https://kemchenj.github.io/2021-03-06/)
+
+[@zvving](https://github.com/zvving):大家翘首以盼的 async/await 特性,终于要在 Swift 5.5 中落地。协程的引入,让我们可以使用同步风格的代码编写异步逻辑,告别回调地狱。
+
+[Kemchenj](https://kemchenj.github.io/about) 为我们带来 [SE-0296](https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md) 的译文:完整介绍引入 async/await 的动机、设计细节和权衡过程,推荐阅读。
+
+### 🐎 [Crash 堆栈竟然无法解析?](https://mp.weixin.qq.com/s/tOdu6GJW-jdWcce1xYgcww)
+
+[@水水](https://www.xuyanlan.com):本文记录了一个由于对 pod 编译参数调整导致的 Crash 无法解析问题的解决和究因过程。到底是什么原因会导致 Crash 无法解析呢?感兴趣的读者可以一探究竟~
+
+### 🐕 [闲鱼 UI 快速变形利器--擎天柱](https://mp.weixin.qq.com/s/QnUVFX6dJzDRac1SsjhSmA)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):擎天柱系统是闲鱼的标签运营平台,以此实现闲鱼 UI 样式的快速配置和实验效果的快速验证。解决了各场景标签 UI 的管理分散、需求排期难、缺乏 AB 实验等一系列问题。目前,擎天柱系统已经在闲鱼首页、搜索页的 feeds 场景落地,取得了阶段性效果:
+
+- 推广场景覆盖和运营使用度,创建更多的个性化实验
+- 增加客户端卡片模版配置模块,完善 UI 体系
+- 打通算法平台,使得优质标签透出的更加智能化、个性化
+
+### 🐢 [Molinillo 依赖校验](https://mp.weixin.qq.com/s/Kux4B4piqR43RLwiHRcHUQ)
+
+[@红纸](https://github.com/nianran):Molinillo 作为 CocoaPods 中核心的依赖解析工具。作者从解决依赖的入口函数 **Resolution::resolve** 入手,剖析了模块依赖 **state** 的变化、有向图的存储、依赖循环和冲突处理。文末,作者还介绍了 Molinillo 利用抽象类来解决不同平台接入的问题。
+
+本文为[「CocoaPods 历险记」](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzA5MTM1NTc2Ng==&action=getalbum&album_id=1477103239887142918&scene=173&from_msgid=2458325057&from_itemidx=1&count=3#wechat_redirect)的系列文章的第 7 篇,非常推荐想要了解 CocoaPods 的同学阅读~
+
+### 🐕 [如何监控 iOS 的启动耗时](https://mp.weixin.qq.com/s/mxQpsenciOu9Qw9q-VTNyg)
+
+[@JonyFang](https://github.com/JonyFang):APP 启动耗时的监控和优化一直是我们比较关注的问题,本文通过介绍 Render Loop 和 commit phase 的流程,分享了通过监控 ipc 通信机制监控启动耗时的解决方案。
+
+## 代码
+
+### [HotReloading](https://github.com/johnno1962/HotReloading)
+
+[@EyreFree](https://github.com/EyreFree):[InjectionIII](https://github.com/johnno1962/InjectionIII) 允许您在 iOS 模拟器中增量更新函数的实现以及类、结构或枚举的任何方法,而无需重新生成或重新启动应用程序。HotReloading 项目使 InjectionIII 的功能现在可以通过 SPM 直接引入到您的工程当中。无需下载应用程序,只需将此项目添加到您的项目中,并添加一个 `Run Script` 即可。
+
+### [Swift for Tensorflow](https://github.com/tensorflow/swift)
+
+[@莲叔](https://github.com/aaaron7):Google 近期正式宣布 Swift for Tensorflow 项目将会被 archieve,也就是说暂停投入,基本上宣告了该项目的社会性死亡。虽然从项目主推者 chris lattner 在一年前离开 google 的时候就已经注定,当时[这篇帖子](https://news.ycombinator.com/item?id=22195335) 也预言了这一刻。但一年之后的现在,该来的来了后,仍然会让人唏嘘。虽然 S4TF 从诞生之日起就有了一定的关注,同时其背后的 idea 也非常创新地解决了当下以 Python 为主导的 AI 领域的一些痛点问题,虽然这两年从 Github 的 commit 记录上也能看出 S4TF 的团队一直在密集的迭代与优化,甚至从去年开始, GPUImage 的作者 Brad Larson 也加入了该团队并持续的投入到 high level api 以及 showcase model 的优化中,最终也没能改变这项技术没有被 AI 社区所接受。深究其背后的原因,其实太阳底下并无新事。社区对于技术语言、框架的接受度考量的核心指标或许并不是先进性,还包括历史包袱、程序员的偏好习惯、生态等等因素。这也就是 Python2 到 3 为什么这么难,JS 问题很多但依然是全球最流行的编程语言。这些现象背后多多少少都可以窥见端倪。
+
+虽然最后生命力只有短短 2 年,但我仍然相信 S4TF 是非常具有冒险精神,非常大胆的一次尝试,其中众多的 compiler-oriented machine learning 技术不会死,会沉淀下来,或许在未来 5-10 年后,能够再次改变世界。
+
+### [swift-benchmark](https://github.com/google/swift-benchmark)
+
+[@老峰](https://github.com/gesantung):[swift-benchmark](https://github.com/google/swift-benchmark) 是一个对代码段进行基准测试的库,有丰富的命令,可以方便的做单元测试性能测试等,类似于 [benchmark](https://github.com/google/benchmark)。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#152-2021.03.22.md b/Reports/2021/#152-2021.03.22.md
new file mode 100644
index 000000000..c7257ae9a
--- /dev/null
+++ b/Reports/2021/#152-2021.03.22.md
@@ -0,0 +1,122 @@
+# 老司机 iOS 周报 #152 | 2021-03-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Swift 5.5 Release Process](https://forums.swift.org/t/swift-5-5-release-process/45644)
+
+[@享耳先森](https://github.com/iblacksun):Swift 社区释出了 Swift 5.5 的发布计划,这意味着随 WWDC21 发布的将是 5.5 而不是 6.0,不过好消息是大家期待已久的 [async/await](https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md) 将随 5.5 一起发布。
+
+## 新手推荐
+
+### [Swift LibHunt - Discover popular and related Swift open-source projects](https://www.libhunt.com/l/swift)
+
+[@EyreFree](https://github.com/EyreFree):LibHunt 是一个跟踪开源项目和软件库的网站,在这里你可以找到最受欢迎的开源库和他们的同类型工具,提供了多种统计口径和筛选方式,除了 Swift 外也支持其他大部分主流编程语言。
+
+> [@Parsifal](https://github.com/ParsifalC):前阵子不时地看到读者群或者公众号后台都有朋友在问想看一些优秀的开源库,希望这个网站能帮你筛选到合适的。
+
+## 文章
+
+### 🐕 [Swift 5.4 新特性](https://mp.weixin.qq.com/s/p6oeWwcgJJFqP2NgYaJXYw)
+
+[@四娘](https://kemchenj.github.io):之前我们介绍过 Hacking Swift 写的 [What's New in Swift 5.4](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/Reports/2021/%23148-2021.02.08.md#-whats-new-in-swift-54),最近知识小集翻译了中文版。
+
+按照往年的时间安排,包含 Swift 5.4 的 Xcode 12.5 大概会在这个月的月底发布,之前还没看过的朋友可以趁这个机会提前了解一下 Swift 5.4 的新特性。
+
+### 🐎 [从底层分析一下存在跨进程通信问题的 NSUserDefaults 还能用吗](https://mp.weixin.qq.com/s/Y1AHFN1kJ9kCjXdFOnUviA)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):NSUserDefaults 是 iOS 开发者常用的持久化工具,通常用于存储少量的数据。经过文中的测试,发现 NSUserDefaults 有以下 3 个特性:
+- 多线程安全
+- 内存级别缓存
+- 写操作会触发 xpc 通信
+
+根据这三个特性,得出适合选择 NSUserDefaults 作为数据持久化的场景如下:
+- 少量数据存储
+- 偶尔修改
+- 多线程安全
+
+### 🌟 🐢 [clang 源码导读系列 6 篇](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAxMzk0OTg5MQ==&action=getalbum&album_id=1773549418412064769&scene=173&from_msgid=2247485042&from_itemidx=2&count=3#wechat_redirect)
+
+[@JonyFang](https://github.com/JonyFang):clang 源码导读系列,共分为 6 篇。依次简介下每篇的概要内容:
+
+1. clang 源码导读(1)- clang 入门
+ - 梳理了不同场景下 clang 的含义;
+ - 引出三个基础知识点:诊断、`llvm:Triple`、`ToolChain`;
+2. clang 源码导读(2): clang driver 流程简介
+ - 结合实例,介绍 `clang driver` 流程;
+3. clang 源码导读(3): clang driver 参数解析
+ - 通过分析 `DriverOptTable` 的生成机制分析 `Driver::ParseArgStrings` 内部流程;
+ - 对 `clang driver` 的参数解析流程做了简析;
+4. clang 源码导读(4): clang driver 构建 Actions
+ - 通过对 `BuildUniversalActions` 方法的源码分析,介绍了 clang driver 构建 Actions 的流程;
+5. clang 源码导读(5): clang driver 构建 Jobs
+ - 对 `clang driver` 的构建 Jobs 流程进行详细的讲解,如介绍了 `clang drive` 是如何通过合并多个 JobAction 来避免反复的硬盘读写操作和文件生成/解析操作;
+6. clang 源码导读(6): clang driver 执行命令
+ - 本篇通过分析源码的方式,对 `clang driver` 的执行命令涉及的流程进行完整的分析;
+
+`clang driver` 这一层虽未涉及到真正的编译,但作为整个编译过程的驱动,以 pipline 形式抽象了各个环节的输入输出,解决了参数解析翻译、任务封装及执行等过程,满足了我们各种各样的使用需求。**clang 源码导读系列** 会带着读者了解 `clang driver`,对后续了解编译的全过程会有所帮助。
+
+### 🐢 [Flutter 正在被悄悄放弃吗?](https://mp.weixin.qq.com/s/hDjbMSPNz_D5JeEBMEJZCA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):Flutter 自诞生之日起,从来都稳坐风口浪尖,关注与争议一直伴随其身。近几年,诸多互联网大厂投入实践,尝到了 Flutter 带来的甜头,但随着深入落地,Flutter 的性能问题为人诟病。这是一篇访谈文,一起来听听咸鱼负责人宗心和百度贴吧端负责人的看法,我想读者会有新的见解.
+
+
+### 🐕 [iOS 稳定性问题治理:卡死崩溃监控原理及最佳实践](https://mp.weixin.qq.com/s/cEfIZGtUojKKbhIfUyhTMw)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了字节跳动 APM 中台团队自研的一套专门用于定位生产环境中的卡死崩溃的解决方案。文章首先介绍了当前 iOS 卡死崩溃监控的痛点,然后图文并茂地介绍该方案的思路和具体实现:
+
+- 卡顿监控原理
+- 如何判定卡顿为一次卡死
+- 如何确定卡死时间的阈值
+- 如何检测到用户一次卡死的时间
+- 如何解决主线程调用栈可能有误报的问题
+
+最后还提供了通过本方案上线后总结出来的一些典型问题和最佳实践。
+
+### 🐎 [Be careful with Obj-C bridging in Swift?](https://swiftrocks.com/be-careful-with-objc-bridging-in-swift)
+
+[@Damien](https://github.com/ZengyiMa):由于 Apple 平台历史问题的存在,Swift 与 Objective-C 进行桥接一直是 Swift 开发的重要组成部分,今天要说的是我们常用的 as 转换符在 Swift 使用中需要注意的地方,也许在不经意中会造成一些隐藏的异常崩溃,来一起探索 Swift 于 Objective-C 转换中发生的事情吧。
+
+## 工具
+
+### 🌟 [github1s](https://github.com/conwnet/github1s)
+
+[@Parsifal](https://github.com/ParsifalC):这个工具基于 VSCode 的浏览器版本,使得我们可以只用一个浏览器便可以方便地浏览和编码任意 GitHub Repo,你只需要将仓库链接的 `GitHub` 域名改为 `GitHub1s` 即可立即体验。比如 `https://github.com/microsoft/vscode` 变为 `https://github1s.com/microsoft/vscode`。
+
+### [FVM 愉快的切换 Flutter 版本,强烈推荐!](https://juejin.cn/post/6919469825547272205)
+
+[@邦Ben](https://weibo.com/linwenbang):Flutter SDK 的安装很简单,下载下来解压就基本可用了。但是当你想进行一些不同版本的调研,或者 beta 版本的尝鲜,或者多个项目之间来回切换,那你就需要一个 SDK 管理工具了,FVM 则满足这个需求。和 NVM, RVM 一样的作用,切换 Flutter SDK。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#153-2021.03.29.md b/Reports/2021/#153-2021.03.29.md
new file mode 100644
index 000000000..e38ddf075
--- /dev/null
+++ b/Reports/2021/#153-2021.03.29.md
@@ -0,0 +1,107 @@
+# 老司机 iOS 周报 #153 | 2021-03-29
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐢 [IGListKit 源码解析系列 5 篇](https://dirtmelon.github.io/posts/iglistkit-first/)
+
+[@JonyFang](https://github.com/JonyFang):IGListKit 源码解析系列,共分为 5 篇。依次简介下每篇的概要内容:
+
+1. IGListKit - 开篇
+ - 对比简介 UICollectionView/UITableView;
+ - 引出 IGListKit 的主要特征;
+2. IGListKit 的基石 - IGListSectionController
+ - 介绍 `IGListSectionController` 是如何和数据层进行绑定的;
+ - 介绍 IGListKit 是如何通过 `IGListSectionController` 来进行扩展以支持多种特性;
+3. IGListKit 的管理者 - IGListAdapter
+ - `IGListAdapter` 作为 IGListKit 的适配器,对外提供相关的刷新接口及一些通用方法,对内负责管理 `IGListSectionController` 和 `UICollectionView`;
+4. IGListKit 的数据处理 - Updater & Diff
+ - 介绍 `IGListAdapterUpdater` 提供的批量&全部刷新机制的原理;
+ - 描述 `IGListDiff` 的核心实现;
+5. IGListKit - 完结篇
+ - 介绍 `IGListCollectionViewLayout` 的实现;
+ - 总结了 IGListKit 的开发历程,及库作者的一些经验总结;
+
+### 🌟 🐕 [Flutter 2.0 下混合开发浅析](https://mp.weixin.qq.com/s/cX-PZZ1FqQm582JwVNm8Zg)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):Flutter 的混合开发大多借助 flutter_boost 等三方库来完成, Flutter 2.0 给了我们更多的选择: FlutterEngineGroup。本文详细讲解了 FlutterEngineGroup 下的混合开发,强烈推荐。
+
+### 🐕 [Flutter Web 在美团外卖的实践](https://mp.weixin.qq.com/s/GjFC5_85pIk9EbKPJXZsXg)
+
+[@极速男孩](https://github.com/ztlyyznf001):Google 现在已经将 Flutter Web 合入了 master 和 stable 分支,并在 Flutter 2.0 做了进一步优化。本文主要介绍了美团外卖在 Flutter Web 的探索,在 Flutter Web 基建和 Flutter Web 中的性能优化 , CI/CD 的方面的尝试。
+
+### 🐎 [全局开启 iOS / mac 的 WebView 调试](https://mp.weixin.qq.com/s/bNKxQaVrPaXsZ5BPbsXy7w)
+
+[@AidenRao](https://weibo.com/AidenRao):Safari 有一个内置的前端调试器,可以调试 MobileSafari 和 Xcode 编译运行的 APP。通过 hook webinspectord 服务的 SecTaskCopyValueForEntitlement 函数,使我们可以在 mac 和 iOS 上,调试系统内置的 App 或者 App Store 下载的应用里的 WebView。对于分析客户端的 XSS、JavaScript bridge 相关的安全漏洞非常实用。
+
+### 🐢 [如何编写高性能的 Swift 代码](https://github.com/apple/swift/blob/main/docs/OptimizationTips.rst)
+
+[@四娘](https://kemchenj.github.io):Swift 官方仓库里的一份性能优化指南,从编译器层面讲述如何编写高性能的代码,让我们了解什么样的代码可以让编译器更好地进行优化,什么样的代码会在 Swift 里产生额外的性能消耗,在哪些情况下我们可以通过改写这些代码来减少这些消耗。
+
+### 🚧 🐕 [Frameworks: embed or not embed that's the question](https://holyswift.app/frameworks-embed-or-not-embed-thats-the-question)
+
+[@红纸](https://github.com/nianran):在工程中配置 Framework 时,经常能够看到一个选项 Embed or not。本文作者将静态库和动态库配合这两种选项,4 种实验结果分别做了对比如下。
+
+- 动态库 + Embed:动态库将在运行时链接,并且会有独立的 Framework 文件夹,独立于 App 的二进制文件
+- 动态库 + Not Embed:App 会崩溃
+- 静态库 + Embed:代码将在编译时进行链接,会有独立的 Framework 文件夹
+- 静态库 + Not Embed:代码将在编译时进行链接,所有代码将会包含在 App 的二进制文件当中
+
+此外,文末有一个 4 种集成方式包大小差异的简单对比,感兴趣的读者可以阅读一番。
+
+### 🐎 [对于移动开发,人工智能的到来意味着什么?](https://mp.weixin.qq.com/s/Nt16lD-0KCpeC5ZEwxziQw)
+
+[@莲叔](https://github.com/aaaron7):端智能或许已经并不是移动开发领域的一个新鲜话题,各个公司和业务都开始逐步尝试并取得了一定的效果。如果你是一位对人工智能有兴趣但之前完全没有了解的移动开发,这篇文章可以指引你快速了解一个大概的全貌。文章首先从比较符合直觉的视角介绍了人工智能是什么,解决了什么问题,另外还给出了在移动开发目前的主流应用,是一份不错的入门介绍。
+
+### 🐎 [iOS 基于 PGO 优化启动时间](https://juejin.cn/post/6942365945990447111)
+
+[@Leo](https://github.com/leomobiledeveloper):冷启动时候 Page In 会占据相当一部分耗时,Profile Guided Optimization (PGO)是一种简单易用的可以优化 Page In 数量,进而提高启动速度的技术,本文介绍了如何使用 PGO ,推荐阅读。
+
+### 🐕 [SwiftUI 中的 Text 插值和本地化](https://onevcat.com/2021/03/swiftui-text-1/)
+[@zvving](https://github.com/zvving):SwiftUI 致力于提供简洁灵活的视图描述方式。拿最『简单』的例子`Text("I am \(someUser.name)")` 来说,你是否好奇:为 Text 设定内容的同时,如何支持本地化,以及各种更复杂的业务场景?
+喵神也有同样的疑问,并带来抽丝剥茧两篇文章:详细拆解 SwiftUI 中本地化&文本差值的实现方式。不妨细读,帮助你写出知其所以然的 Swift 代码。
+## 代码
+
+### [isowords](https://github.com/pointfreeco/isowords)
+
+[@老峰](https://github.com/gesantung):isowords 是一款英语单词字谜游戏,作者客户端采用 SwiftUI、SceneKit 实现了模块化架构,服务端也以 SwiftNIO 实现,并且全部开源。对 SwiftUI、SceneKit、Swift for Server 感兴趣的同学欢迎学习参考。
+
+## 书
+
+### 🌟 [iOS Crash Dump Analysis, Second Edition](https://github.com/faisalmemon/ios-crash-dump-analysis-book)
+
+[@Parsifal](https://github.com/ParsifalC):这是一本对于理解 iOS Crash 机制非常有帮助的书,中英文版本均有。从什么是崩溃、崩溃如何发生、各种崩溃类型、可采用的工具、崩溃日志解读等等非常系统地为我们阐述了崩溃分析,填补了当崩溃发生时应用程序开发人员与开发平台之间出现的空白。本书讨论了涵盖 iOS、macOS、watchOS 以及 tvOS 等苹果主流软件系统,也包括了 OC 和 Swift 等主流开发语言。非常推荐反复阅读。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#154-2021.04.06.md b/Reports/2021/#154-2021.04.06.md
new file mode 100644
index 000000000..545a7eed4
--- /dev/null
+++ b/Reports/2021/#154-2021.04.06.md
@@ -0,0 +1,95 @@
+# 老司机 iOS 周报 #154 | 2021-04-06
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [WWDC21 再度采用完全在线形式](https://developer.apple.com/wwdc21/)
+
+[@Parsifal](https://github.com/ParsifalC):第三十二届全球开发者大会 WWDC 将于 6 月 7 日至 11 日举行,并再度采用完全在线形式。届时将有 iOS 15、iPadOS 15、watchOS 8、macOS 11、tvOS 15 等系统将正式推出。
+
+## 文章
+
+### 🌟 🐕 [Flutter Boost3.0 初探](https://mp.weixin.qq.com/s/49h8FVPhnJSHo2brR0K9zw)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):flutter_boost 几乎已经成为混合开发下的标配三方组件,由闲鱼出品,本次 flutter_boost 进行了 3.0 版本的升级更新,解决了很多诟病已久的问题,比如:需要频繁更新跟进官方版本,AndroidX 和 Support 在不同分支,iOS 和 Android 接口不对齐等问题.
+
+### 🌟 🐕 [Concurrency Done Right](https://kean.blog/post/concurrency)
+
+[@四娘](https://kemchenj.github.io):Concurrency 相关的功能提上日程之后,社区里关于如何编写并发代码的讨论也开始变多,在这篇文章里 [Nuke](https://github.com/kean/Nuke) 的作者 Kean 就介绍了他在 Nuke 里做的优化,他分析了不同场景下最佳的方案,包括 lock,atomic,actor 等等,推荐阅读。
+
+另外 [NetNewWire](https://netnewswire.com) 的作者也写了一篇 [How NetNewsWire Handles Threading](https://inessential.com/2021/03/20/how_netnewswire_handles_threading)。
+
+### 🐕 [SwiftUI 中的 Text 插值和本地化](https://onevcat.com/2021/03/swiftui-text-1/)
+
+[@zvving](https://github.com/zvving):SwiftUI 致力于提供简洁灵活的视图描述方式。拿最『简单』的例子`Text("I am \(someUser.name)")` 来说,你是否好奇:为 Text 设定内容的同时,如何支持本地化,以及各种更复杂的业务场景?
+喵神也有同样的疑问,并带来抽丝剥茧两篇文章:详细拆解 SwiftUI 中本地化&文本差值的实现方式。不妨细读,帮助你写出知其所以然的 Swift 代码。
+
+### 🐕 [听说你想写个渲染引擎](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485069&idx=1&sn=693e48ede7d796e14620fbbeaee56beb&chksm=cf558945f822005377aab06e3d42ffbf7d79f6a818b319a953e7f44ed7d4d79b5dffb66c8019&token=911515468&lang=zh_CN#rd)
+
+[@xiaofei86](https://github.com/xiaofei86):讲述浏览器渲染引擎工作原理的系列文章,使用 Swift 实现引擎。根据渲染引擎的工作流程,分为 “HTML 解析”、“CSS 解析”、“生成样式树”、“生成布局树”、“绘制” 5 篇内容。目前已更新“[前言](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485069&idx=1&sn=693e48ede7d796e14620fbbeaee56beb&chksm=cf558945f822005377aab06e3d42ffbf7d79f6a818b319a953e7f44ed7d4d79b5dffb66c8019&token=911515468&lang=zh_CN#rd)”和“[HTML 解析](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485069&idx=2&sn=986f6eb0a7bece1d4e70253c3c9b7020&chksm=cf558945f8220053a6f15f658bcc2e442ee238c5639837076a85b2ceb6f7f6d104e4fbebc464&cur_album_id=1717440219009892354&scene=189#rd)” 2 篇,感兴趣的读者可以持续关注。
+
+### 🐕 [How I Created a DSL for Diffable Section Snapshot using Result Builders](https://swiftsenpai.com/swift/section-snapshot-builder/)
+
+[@Damien](https://github.com/ZengyiMa):在日常开发中,我们在使用 UITableView 和 UICollectionView 的时候会写很多的模版代码,能否提高我们的开发效率呢?本文提供了一个新的思路,通过自定义 DSL 的方式来构建我们的 UITableView 和 UICollectionView 的页面结构,使得我们的开发效率可以得到大幅的提高,想了解实现思路?一起来看文章内容吧!
+
+### 🐕 [Xcode-Tips](https://github.com/Xcode-Tips/xcode-tips.github.io)
+
+[@老峰](https://github.com/gesantung):Apple 开发者通常通过 Twitter 或微博等在社区中分享 Xcode 使用技巧,该项目的目标是将所有这些 Xcode 技巧放在一个地方,并使任何人都可以轻松获取或做出贡献。这些使用技巧包括如下几个方面:
+- Breakpoints:使用断点作为书签、快速切换断点、断点播放声音、使用 LLDB 表达式自动执行用户操作
+- Build Times:签名提速、复制 framework headers
+- Code:生成类初始化、选中整个代码块
+- Crashes:查看 .crash 文件
+- Interface Builder:Xcode Interface 技巧
+- Keyboard Shortcuts:跳到指定一行、格式化代码、增加注释等
+
+还有更多内容可以阅读原文,本项目持续更新,感兴趣的读者可以持续关注。
+
+### 🐕 [Unsafe memory pointers in Swift](https://theswiftdev.com/unsafe-memory-pointers-in-swift/)
+
+[@zvving](https://github.com/zvving):内存安全是 Swift 的特性之一,它意味着开发者只需关注内存所有者关系而不必在意具体的内存地址和存储细节。
+
+在另一些场景,比如 Swift 与 C 互操作,则可以通过一系列 Unsafe API,达成对特定内存的操作能力。就像其名称一样,它不安全,稍有不慎就会崩溃,但也带来更多的底层能力:读写类型化指针内容,借助 Memory Layout 操作原始指针,以及绕过 ARC 手动管理内存等。通过这篇文章,你可以对 Unsafe API 有整体的认知。
+
+## 代码
+
+### [swiftui-animation-library](https://github.com/amosgyamfi/swiftui-animation-library)
+
+[@Damien](https://github.com/ZengyiMa):swiftui-animation-library 是一款 SwiftUI 动画库,包括加载/进度,循环,开关,退出,淡入淡出,旋转和背景动画,可以让你可以在下一个 iOS 应用程序或项目中直接实现这些动画。该库还包含大量弹性动画示例,例如惯性弹跳,摇动,旋转,果冻,橡皮筋等。
+
+### [FuzzyFind](https://github.com/truizlop/FuzzyFind)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):FuzzyFind 是一个 Swift 软件包,它使用 Smith-Waterman 算法的修改版来执行模糊搜索。该软件包包括两个核心功能:bestMatch 和 fuzzyFind,使用 bestMatch,您可以在单个字符串中找到查询的最佳对齐方式,使用 fuzzyFind,您可以对多个输入运行多个查询,并获得与所有提供的查询匹配的输入的所有对齐方式。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#155-2021.04.12.md b/Reports/2021/#155-2021.04.12.md
new file mode 100644
index 000000000..9758e206e
--- /dev/null
+++ b/Reports/2021/#155-2021.04.12.md
@@ -0,0 +1,80 @@
+# 老司机 iOS 周报 #155 | 2021-04-12
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐕 [Introducing Swift Collections](https://swift.org/blog/swift-collections/)
+
+[@EyreFree](https://github.com/EyreFree):上周,Swift 官方发布了一个新的开源库 [Swift Collections](https://github.com/apple/swift-collections),它专注于扩展可用的 Swift 数据结构集。我们都知道目前 Swift 标准库实现了三种最基本的通用数据结构:数组、集合和字典,但很多时候为了更高效地解决问题,开发者们往往需要借助一些其他的数据结构。现在官方已经注意到了这一点,通过提供 `Collections` 库来让开发者们能够花费尽可能少的精力来编写更快、更可靠的程序,它的初始版本包含了三种最常见的数据结构:双端队列 Deque、有序集合 OrderedSet 和有序字典 OrderedDictionary。同时官方也给出了贡献代码的标准,感兴趣的同学赶紧来看看。
+
+### 🌟 🐕 [iOS 恢复调用栈(适配 iOS 14)](https://iosre.com/t/ios-ios14/19332)
+
+[@Leo](https://github.com/leomobiledeveloper):逆向的时候,如果调用栈是符号化的能大幅提高效率。作者详细的介绍了在 iOS 14 上如何一步步获取符号信息,最后对 Mach-O Patch 来恢复符号。除了对逆向很有用,文章里涉及到的底层知识也非常推荐阅读。
+
+### 🌟 🐕 [clang 源码导读(8):词法分析和预处理指令](https://mp.weixin.qq.com/s/zzDS0mnNSyuRwpdcUR6obg)
+
+[@JonyFang](https://github.com/JonyFang):我们知道 `clangLex` 主要负责**词法分析**和**预处理**,用于处理宏、令牌和 pragma 构造。在本文中,作者通过实际的例子对 `clangLex` 的**词法分析**和**预处理指令**相关的流程进行了梳理和总结。为了帮助读者更直观的理解 `clangLex`,作者一并提供了一份对应的预处理流程图。
+
+### 🌟 🐢 [看不懂学不会没有用的计算几何](https://juejin.cn/collection/6913090306690777102)
+
+[@Parsifal](https://github.com/ParsifalC):做图形视觉相关开发的朋友一定离不开计算几何,这个系列是用 Swift 为我们讲解常用的计算几何场景,图文并茂,对初涉视觉方向的同学会有很大帮助。
+
+> 由 [XanderXu](https://github.com/XanderXu) 自荐,另外他编写着同名的小专栏 [ARKit 与计算几何](https://xiaozhuanlan.com/computationalgeometry),所有内容均会在小专栏上首发。
+
+### 🐕 [从 Objective-C 和 Swift 看字典的性能优化(1)](https://mp.weixin.qq.com/s?__biz=MzAxMzk0OTg5MQ==&mid=2247485326&idx=1&sn=5b4dc0528da22b90a701fb249c2b4f44&chksm=9b9b8922acec00341388a8a686c3bb83475f1de338925b8c35957b7fc45ba38a3d32051d2dd1&scene=178&cur_album_id=1742555951460597762#rd)
+
+[@AidenRao](https://weibo.com/AidenRao):本系列文章会通过分析系统库汇编的方式,研究 Dictionary 底层相关的知识。
+
+本文主要分享了 NSDictionary 的两个子类:__NSPlaceholderDictionary(占位的类型,通常只出现在崩溃日志中) 和 __NSDictionaryI (存有多个键值对的不可变字典) 的详细构造过程。
+
+### 🐎 [Exploring some of the lesser-known, built-in Formatter types](https://www.swiftbysundell.com/articles/exploring-some-of-the-lesser-known-formatter-types/)
+
+[@享耳先森](https://github.com/iblacksun):开发者们对常用的 `NumberFormatter` 和 `DateFormatter` 可能比较熟悉,本文介绍了 Foundation 库里其他好用的 Formatter,如 `PersonNameComponentsFormatter` `CNPostalAddressFormatter` `RelativeDateTimeFormatter` 等。
+
+### 🐎 [DWARF文件初探——提取轻量符号表](https://mp.weixin.qq.com/s/s8iwQLNtla5nxF_Tmj2wJg)
+
+[@红纸](https://github.com/nianran):本文作者从实践出发,简单剖析了 **DWARF** 文件的文件组成。通过 **dwarfdump --debug-info** 命令可以获取到函数的文件名、函数名、函数起始地址、函数终止地址,再利用 **dwarfdump --debug-line** 获取到行信息后,可以查看当前这个行的起始地址位于同文件下那个函数的指令区间内,即可得知函数名。
+
+> 推荐人:[pilaf-king](https://github.com/pilaf-king)
+
+## 代码
+
+### [EmbeddedScrollView](https://github.com/623637646/EmbeddedScrollView)
+
+[@老峰](https://github.com/gesantung):开发中会有多 ScrollView 嵌套滚动这样的需求,作者将这一实现进行了封装,提供了简单易用的 API, 一行代码解决竖直嵌套滚动问题,手势无冲突,动画完美衔接,有类似需求的同学可以借鉴参考。
+
+> 推荐人:[623637646](https://github.com/623637646)
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#156-2021.04.19.md b/Reports/2021/#156-2021.04.19.md
new file mode 100644
index 000000000..12aa60433
--- /dev/null
+++ b/Reports/2021/#156-2021.04.19.md
@@ -0,0 +1,111 @@
+# 老司机 iOS 周报 #156 | 2021-04-19
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [为 AppTrackingTransparency 做好准备](https://developer.apple.com/cn/news/?id=8h0btjq7)
+
+[@Parsifal](https://github.com/ParsifalC):[iOS 14.5](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-14_5-beta-release-notes) 已经公开测试很长一段时间了,现在到了第八个 Beta 版本。根据目前各方面信息来看,iOS 14.5 很可能在 4 月份正式发布。iOS 14 开始苹果便在和开发者强调新的隐私跟踪策略管理方式,而这个措施即将随着 iOS 14.5 的发布正式实施。新的 ATT 以及 SKAdNetwork 2.0 推出,还将伴随着 [《App Store 审核指南》的准则 5.1.2 (i)](https://developer.apple.com/cn/app-store/review/guidelines/#5.1.2),目前已经有不少 App 被这个原因拒绝,需尽早自查和更新相关第三方 SDK 进行适配。
+
+> 另推荐一篇关于 ATT 和 SDAdNetwork 的文章:[全面解读 iOS 14 ATT 和 SKAdNetwork](http://www.woshipm.com/pd/4150041.html)
+
+## 文章
+
+### 🌟 🐕 [Wakeup in XNU](https://mp.weixin.qq.com/s/8OBAmyCLa6_eFYqIJgoCQw)
+
+[@Leo](https://github.com/leomobiledeveloper):APP 异常退出的原因有很多种,大家比较熟悉的是 Crash 和 OOM,事实上 CPU Wakeup 超过限制也会触发系统强杀。本文从内核源码出发,剖析了 Wakeup 背后的原理,也给出了一些典型的会触发这种强杀的场景。文章研究深入,逻辑清晰,推荐对功耗和稳定性感兴趣的同学阅读。
+
+### 🌟 🐕 [哈啰出行 iOS App 首屏秒开优化](https://mp.weixin.qq.com/s/5Ez2BrsyBgQ8aHZqlYtAjg)
+
+[@JonyFang](https://github.com/JonyFang):产品高频迭代在快速解决业务发展的同时也带来了大量的技术债堆积,如果没有良好的规范和监控流程会使项目在稳定和体验上存在较多的隐患和挑战。正如启动阶段的启动项和业务逻辑堆积,本文介绍了哈啰出行 iOS App 首屏秒开的优化路径:
+
+1. 数据收集:收集启动阶段、首页加载、各业务模块加载性能数据;
+2. 问题分析:确认并定位分析目前各阶段加载存在或依赖的问题;
+3. 优化解决:启动项问题、首页逻辑处理问题、业务模块问题解决;
+4. 持续监控:持续优化 & 监控首页的加载渲染和模块性能问题 & 可视化数据;
+
+### 🌟 🐕 [干货 | 减少 50% 空间,携程机票 React Native Bundle 分析与优化](https://mp.weixin.qq.com/s/aajdqmpCLKvGaokL4Qp1tg)
+
+[@looping](https://github.com/looping):本文记录了作者从 JavaScript 层面对 React Native 的业务包进行分析与优化的过程,对常用的解决方案和优化步骤进行了详细的总结,还夹带了携程内部的 CRN bundle 分析平台介绍,为高效且能持续性解决问题提供了借鉴思路,是一篇不可多得的工程技术实践好文。
+
+### 🐕 [深度解读便利蜂 React Native 多版本共存的平滑升级实践](https://mp.weixin.qq.com/s/q296ppm6iB9cou5ZgBytrg)
+
+[@Damien](https://github.com/ZengyiMa):随着前端技术生态的演进,React Hook、Fast Refresh 等技术、工具不断地迭代涌现,版本升级为业务提效赋能的同时,伴随的 breaking change(重要改动)、行为变更也带来了更多的风险和成本。对于便利蜂而言,面对迭代不频繁的项目,升级的成本则远大于升级的收益。具体实现方式是通过修改包名、动态库,可以把多个版本的 React Native 放置同一个 App 中,同时为了避免代码冗余,优化包大小,精简掉了老版本大部分代码,并实现了自定义 Module、Component 的跨版本支持。在 React Native 中升级带来的破坏性问题上给了我们一个新的思路。
+
+### 🐕 [极致首帧播放方案 - 零首帧解决方案](https://mp.weixin.qq.com/s/IGA3caeXMB-upTFiV8MuYg)
+
+[@anotheren](https://github.com/anotheren):视频播放,特别是短视频播放领域,对于首帧的展现,以及后续播放流畅度有着极高的要求。本文来自字节跳动团队,主要按照首帧的各个阶段分别介绍了对应的优化方案,也简单介绍了预加载和预渲染这两个优化首帧的利器,在文章最后针对长视频以及历史进度起播这两种场景,介绍了对应的优化手段。当然不同团队会面临不同的问题,如果你也需要特定的优化,不妨来找找思路。
+
+### 🐢 [听说你想写个渲染引擎(css 解析 + 样式树)](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485069&idx=1&sn=693e48ede7d796e14620fbbeaee56beb&chksm=cf558945f822005377aab06e3d42ffbf7d79f6a818b319a953e7f44ed7d4d79b5dffb66c8019&token=911515468&lang=zh_CN#rd)
+
+[@xiaofei86](https://github.com/xiaofei86):讲述浏览器渲染引擎工作原理的系列文章,使用 Swift 实现引擎,代码开源,可以在 [Github](https://github.com/silan-liu/tiny-web-render-engine-swift) 查看。在往期周报中我们推荐了 [HTML 解析](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485069&idx=2&sn=986f6eb0a7bece1d4e70253c3c9b7020&chksm=cf558945f8220053a6f15f658bcc2e442ee238c5639837076a85b2ceb6f7f6d104e4fbebc464&cur_album_id=1717440219009892354&scene=189#rd),本期作者更新了 [CSS 解析](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485200&idx=1&sn=6f5eca77d57bac8909b0c813d1c2c414&chksm=cf5588d8f82201ce7b85fa35aea9b58dc953c8d85167fa1f589e9d7fd0e7ac1c90d1e21fd565&token=1141333798&lang=zh_CN#rd) 和 [样式树](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485200&idx=2&sn=3c7bc2b702fd01c9215bad2d26786078&chksm=cf5588d8f82201ce64e1729d490d2ef31dda69c1d23656c386184e7399941b0bc28855b9588c&token=1141333798&lang=zh_CN#rd) 2 篇新内容。感兴趣的读者可以持续关注,跟随作者一起学习。
+
+### 🐢 [抖音 iOS 工程架构演进](https://mp.weixin.qq.com/s/HHH5_IEbsR8iSmXSIdeutw)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):从 16 年至今,抖音实现了从零到六亿的日活增长,快速的业务发展对技术支撑提出了更高的要求。本文讲述了抖音 iOS App 工程架构在不同的阶段对组件化方案的持续改进:
+
+- 原始工程架构
+ - 单体架构 + Cocoapods:业务代码、工程配置、资源文件全部放在一个大业务仓库,由 Podfile 文件描述第三方仓库的依赖版本
+
+- 分离壳工程后架构
+ - 壳工程 + 业务仓 + 依赖仓:分离壳工程,工程配置、部分系统资源、工程主入口被拆分到主宿主壳工程,Podfile 拆分出版本依赖管理文件 Podfile.seer,由依赖管理平台进行各个版本的容器化管理
+
+- 单仓多组件架构
+ - 壳工程 + 单仓多组件 + 依赖仓:采用单仓多组件后,每个业务线仓库支持添加 podspec 增加组件,实现更小粒度的二进制依赖。业务线仓库内划分业务实现层、业务接口层、服务层和基础层
+
+- Example 子壳工程架构
+ - 壳工程 + AWELaunchKit + 单仓多组件 + 依赖仓:每个业务仓从宿主同步工程配置构建子壳工程。增加 AWELaunchKit 为子壳工程提供运行时的基础能力。通过服务层提供业务间运行时共享的服务能力,满足代码复用和更小二进制依赖
+
+在架构演进过程中,还会遇到二进制污染、编译优化、主干分支稳定性、业务层的依赖耦合等问题,这必然是一个长期的、需要持续探索的系统性工程。
+
+### 🐎 [软件幻灭(译)](https://tonsky.me/blog/disenchantment/zh/)
+
+[@老驴](https://www.weibo.com/6090610445):本文是作者对现在软件行业的一篇吐槽文。作者认为软件行业和 20 年前相比,更成熟,却也更复杂,更累赘。软件体积动辄是当年的 10 倍以上,性能却没有很大的提升。各种协议也越来越复杂。大家都只在乎完成产品,越来越少的人在乎软件本身的质量了。虽然我不完全同意作者的观点,但是也不得不承认这是事实,这也是一个行业逐渐成熟以后的必然。我们有能力改变么?也许有,但成功的可能性也并不高。
+
+### 🐢 [Swift 的一次函数式之旅](https://mp.weixin.qq.com/s/yiF0NwXffrkunGOieWbIRA)
+
+[@莲叔](https://github.com/aaaron7):Swift 语言从诞生之日起就因为从纯函数语言中吸收了非常多的函数式特性而成为函数式编程爱好者们的津津乐道的热门语言之一。自定义操作符,函数是一等公民,简洁的闭包语法以及 maybe monad 的具体实现:optional,这些特性都带来了相当多的想象空间。一度在 15-17 年掀起了一股热潮。
+
+18 年之后热度逐步减少,原因很多,其中比较关键的原因就是在实践中存在的理解成本高、调用栈复杂等问题一直没有得到很好的解决,所以也就一直未成为 iOS 开发的主流模式。不流行不妨碍这是一门非常有趣的学科,毕竟函数式编程的鼻祖 Haskell 社区就有一句谚语:Avoid success at all cost,不计代价的避免成功。指的是不为了流行去做事,而是做本来就正确的事情。所以小编也推荐大家可以适当关注函数式编程,享受抽象与形式的美带来的愉悦感。
+
+这篇文章介绍了函数式编程的入门知识,同时也浅显易懂的讲述了通过函数组合提升代码可读性和 callback hell 的经典案例,适合感兴趣的同学们阅读。
+
+## 工具
+
+### [Nuke Docs](https://kean.blog/post/nuke-docs)
+
+[@老驴](https://www.weibo.com/6090610445):不论是开源项目还是公司内部项目中都有很重要的一环:写一份规范易读的文档。文档不仅仅是为使用者提供方便,也为自己之后可以更好地理解,重构,改进服务。Nuke 的作者就用 Blog 讲述了对于 Nuke 文档,是怎么做的选择,最后又是怎么优化的。文章里没有什么很详细的技术细节,但是思路值得学习。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#157-2021.04.26.md b/Reports/2021/#157-2021.04.26.md
new file mode 100644
index 000000000..cf867a069
--- /dev/null
+++ b/Reports/2021/#157-2021.04.26.md
@@ -0,0 +1,113 @@
+# 老司机 iOS 周报 #157 | 2021-04-26
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 公告
+
+[@Parsifal](https://github.com/ParsifalC):本期是节前最后一期,5.1 期间周报停更,我们 5.10 再见!
+
+## 新闻
+
+### [使用 Xcode 12 和 iOS 14 SDK 提交更新](https://developer.apple.com/cn/news/?id=ib31uj1j)
+
+[@Parsifal](https://github.com/ParsifalC):自 2021 年 4 月 26 日起,所有提交至 App Store 的 iPhone 和 iPad app 都必须使用 Xcode 12 和 iOS 14 SDK 或更高版本来构建。另外,这两天有部分读者表示 iTunes Connect 网站使用异常,其实苹果在 WWDC 2018 里就宣布启用 App Store Connect 服务了,**我们现在应该使用 https://appstoreconnect.apple.com/ 来进行管理。**
+
+### [WWDC 2021 Swift Student Challenge Submissions](https://wwdc.github.io/2021/)
+
+[@Damien](https://github.com/ZengyiMa):一年一度的 Swift 学生挑战赛开始啦,快来看看吧。胜者将会获得特别的 WWDC21 外套、定制别针套装和为期一年的苹果开发者计划会员资格。请踊跃参加吧。
+
+## 文章
+
+### 🌟 🐕 [Swift 2021 生态调研报告](https://mp.weixin.qq.com/s/5SXAozM2c6Ivyzl7B9IfQQ)
+
+[@JonyFang](https://github.com/JonyFang):一份 Swift 2021 生态调研的报告。虽然看起来现阶段的 Swift 还是在一个积累的过程,但随着 WidgetKit 这个标志性的 SDK 诞生,发展阶段逐渐从积累阶段转向发展期,毕竟目前 ABI 稳定了、Module 稳定了、对二进制组件的支持也有了、Swift 语言本身的版本变化也逐渐稳定,这些都给予了 Swift 很好的支持。Swift 的发展方向看上去不只是为了 Apple 生态体系内,从社区的规划及 Timac 的几篇分析文章可以看出 Swift 在多元发展上(破圈)的决心。国内的 Swift 发展被去年的 iOS 14 新特性盘活了,WidgetKit 功不可没,虽然文中未给出大部分公司都将转型的结论,但至少绝大部分互联网的头部公司已经兼容了 Swift 的开发,这是一个好的开始,相信在可见的未来,Apple 的转型决心会让国内的公司更重视这方面工作的重要性。
+
+本篇主要结合下面几个纬度分析了 2021 年 Swift 在 iOS 整个生态圈的现状:
+
+1. Swift 语言
+ - 版本变化
+ - On the road to Swift 6
+2. 技术社区
+ - 语言排行榜
+ - 社区活跃度
+ - 商用 SDK 的技术选型
+3. Apple 生态
+ - SDK 能力
+ - 原生 App 分析
+ - iOS 中不同编程语言的发展
+4. 国内外客户端的使用现状
+ - 数据样本
+ - 2021 年现状
+ - 数据解读
+
+### 🌟 🐢 [基于 Flutter 的 Web 渲染引擎「北海」正式开源](https://mp.weixin.qq.com/s/tnHbceedNsoKgMrgoTyyuA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):单看标题想必大家已经有一个大致的猜测,不错,淘系技术团队基于 Flutter 做了一个跨端的渲染框架,你可以使用完全的前端开发方式来写 Flutter,同样的前端开发中可以用到的工具 / 框架等,都可以无缝用到该项目中,棒极了!!!并且 Kraken 完全按照 W3C 标准,同时对一些组件做了性能优化,比如滚动组件.
+
+### 🐕 [Why Swift closures are not Equatable](https://www.jessesquires.com/blog/2021/04/05/why-swift-closures-are-not-equatable/)
+
+[@极速男孩](https://github.com/ztlyyznf001):Swift 中的闭包与 C 和 Objective-C 中的代码块或者其他语言中的匿名函数类似,但是当我们用 == 或者 === 去比较两个闭包时都会报错,这篇文章解释了为什么不能比较两个闭包,以及如果可以比较两个闭包所带来的问题。
+
+### 🐎 [开源神器:可快速在 iOS 设备上安装 Windows、Linux 等操作系统!](https://mp.weixin.qq.com/s/Q8CvdNBnpoLow98MM1MZ1g)
+
+[@老驴](https://www.weibo.com/6090610445):有没有想过在 iOS 上运行其他操作系统?按照现在 iPhone 的计算性能,性能上完全可以的。国外的一位叫 osy86 的开发者就搞出了这样的一个虚拟机,可以让你在 iPhone 上跑任意操作系统。不过因为 iOS 本身的限制,你需要自己签名或者在越狱的机器上安装。兴趣的可以试试看。
+
+### 🐎 [Getting Ready for App Tracking Transparency](https://swiftsenpai.com/development/get-ready-apptrackingtransparency/)
+
+[@老峰](https://swiftsenpai.com/development/get-ready-apptrackingtransparency/):4 月 6 日 Apple 发布公告 [Get ready for AppTrackingTransparency](https://developer.apple.com/news/?id=8h0btjq7) 要求开发者如果应用有收集用户数据,并出于跨应用和网站跟踪的目的与第三方分享用户数据,那么从 iOS 14.5 必须通过 AppTrackingTransparency 框架获得用户授权。文章简要介绍了 IDFA 概念,以及如何接入 AppTrackingTransparency框架,有需求的同学建议阅读。
+
+### 🐕 [Every SwiftUI protocol explained](https://www.fivestars.blog/articles/swiftui-protocols/)
+
+[@AidenRao](https://weibo.com/AidenRao):本文详细介绍了 SwiftUI 定义的 54 种协议,例如:核心协议 View 和 ViewModifier 用于定义视图和视图修饰符。APP 和 Scene 使 APP 的完整生命周期都可以基于 SwiftUI 实现。19 种 styles 协议用于修饰 label,button 等特定视图,Shape 和 InsettableShape 用于定义形状,Animatable 和 AnimatableModifier 用于实现动画。
+
+## 工具
+
+### [GitHub 缓存加速网站:GitClone](https://gitclone.com/)
+
+[@J_Knight_](https://github.com/knightsj):该网站提供了远程缓存 GitHub 库的方案:可以提高从 GitHub clone 代码的速度。具体有三种使用方法:
+1. 替换 url:将 gitclone.com 嵌入到克隆地址
+2. 设置 git 参数
+3. 使用 cgit 客户端
+
+详细的介绍可以进入该网站主页查看:https://gitclone.com
+
+## 代码
+
+### [ExposureKit](https://github.com/623637646/ExposureKit)
+
+[@红纸](https://github.com/nianran):ExposureKit 是一款检测 View 曝光库,一行代码即可集成,让业务曝光数据统计分析变得更方便。该库同时支持 Swift/OC 的检测,其功能基于原作者 [Yanni Wang 王氩](https://github.com/623637646) 的另外一个仓库 [EasySwiftHook](https://github.com/623637646/SwiftHook/blob/master/Documents/README.zh-Hans.md) 实现函数 Hook。
+
+> 自荐:[Yanni Wang 王氩](https://github.com/623637646)
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#158-2021.05.10.md b/Reports/2021/#158-2021.05.10.md
new file mode 100644
index 000000000..a3c4621be
--- /dev/null
+++ b/Reports/2021/#158-2021.05.10.md
@@ -0,0 +1,96 @@
+# 老司机 iOS 周报 #158 | 2021-05-10
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 福利
+
+极客时间戴铭老师的「[iOS 开发高手课](https://time.geekbang.org/column/intro/100024501?code=0eTznNzpAbVisw%2FesJ9iM9iraIX21mfPuPgxm1jY5tI%3D)」**优惠活动截止时间是 5.12**,想要购买的读者可以通过周报二维码渠道,不仅**享受半价**,而且我们会将官方返现的 **20 元全额退款**给大家。更多详细内容可以参考 - [系统构建自己的 iOS 知识体系](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&tempkey=MTExMl9EcWloZVlNQyt6MjA1NS9pUEVtQ2RIY2JwcE1nQV9HeERVVkJBZk0zTVZjb2dCLUZaZEtsT1M3aFFCcURwM3ZJLU85OWVzYm9fei1UcnJRN2tDOVNFcGdkdDVoMElpcC1sMXNkd21LeWZaSEJWalRGNkQ2d25Bb012MWYxa2dnRmxGWFNWeGd6N0lCbk9rV1AxcWJRRW42X1Y3c3hEZW40M194c05Bfn4%3D&chksm=6aa285285dd50c3ef2fed31f056abbd0e6b0b9f0512b8ff8ec2e1560716fda253d1c28ecf600#rd)。
+
+## 新闻
+
+### 周报开通视频号了!
+
+[@Parsifal](https://github.com/ParsifalC):号外号外!!周报编辑组正式开通微信视频号了!为了丰富我们的内容形式,更好地将优质知识传递给大家,我们接下来也会尝试不同的方法。WWDC 2021 临近,我们今年也在考虑更多样化的『WWDC 内参』活动,关注视频号,或许 6 月有惊喜哦(**开通直播服务需要 1000+ 粉丝,希望大家多多帮忙!**)~
+
+> **iTDriverr** 视频号开通在周报微信号里,欢迎大家添加!
+
+### [swift-5-4-released](https://swift.org/blog/swift-5-4-released/)
+
+[@享耳先森](https://github.com/iblacksun):五一长假前 Apple 随 Xcode 12.5 一起发布了 Swift 5.4 版,除 `Result 生成器` 等新特性外,5.4 主要集中在编译和运行性能的提升,具体内容也可以参考「知识小集」翻译的[这篇文章](https://mp.weixin.qq.com/s/CKx-UhzBkhDMDvDbzjX09g)。
+
+## 文章
+
+### 🌟 🐎 [美团做 React Native 性能优化的三个关键点](https://mp.weixin.qq.com/s/2D2l7NF0kmwAkfCI_PbZug)
+
+[@looping](https://github.com/looping):这是一篇 InfoQ 对美团移动端的采访记录,提到了美团在 React Native 性能优化实践层面的一些经验,以及对于技术框架选型的一些建议。里面讲的有些点还是比较干的,像是预告片,期待之后能在 QCon 大会上稀释下。本文可作为大纲参考,对罗列的问题结合我们自身的实际情况来分析,再看下跟大厂的差距,找到提升空间和下一阶段的演进方向。
+
+### 🌟 🐕 [解读 Flutter 中热重载原理](https://mp.weixin.qq.com/s/Rd03kZLr26AJGcW2RXZc3w)
+
+[@Parsifal](https://github.com/ParsifalC):相比于前端圈子,开发调试体验是客户端人员挺头疼的痛点。而近些年 React Native/Weex/Flutter 等跨端框架吸引人的一方面也是其**热重载**这一开发体验,早之前社区有利用 File Watcher 监听文件变化并通过动态库注入与 runtime 在模拟器上实现热重载的 [InjectionIII](https://github.com/johnno1962/InjectionIII) ,甚至苹果自己也在 SwiftUI 上支持了实时预览。本文则基于 Flutter 源码,解读了 Flutter 是如何用 Dart 语言特性和 DartVM 实现其热重载功能。全文思路比较清晰,如果你也对 flutter 热重载机制有很大兴趣,阅读此文,应该能解决掉不少你的疑问。
+
+### 🌟 🐕 [干货 | 携程火车票 Flutter 最佳实践](https://mp.weixin.qq.com/s/VP6WEQkEel3W4tdo3ThYDw)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):本文介绍了携程火车票选择 Flutter 的初衷,Provider 状态管理的实际使用,建议 Flutter 主体的构架采用 MVVM 模式,还介绍了一些 Flutter 性能检测、量化工具和一些性能优化点供大家参考。收集了 Flutter 开发过程中常见并且大量发生的问题,并提供了相应的解决方案。
+
+### 🐢 [听说你想写个渲染引擎(布局树 + 绘制)](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485323&idx=1&sn=af965b57deaa2aabdd990348f7aa09ce&chksm=cf558843f822015544defa0c6af508642c840fc53f418c80d37b1af9b0018144b5139d6162f5&token=1028691144&lang=zh_CN#rd)
+
+[@xiaofei86](https://github.com/xiaofei86):讲述浏览器渲染引擎工作原理的系列文章,代码[开源](https://github.com/silan-liu/tiny-web-render-engine-swift)。作者参考了 “动手写浏览器渲染引擎” 系列文章,原文用 rust 编写,作者使用 Swift 进行了重写。
+
+根据渲染引擎的工作流程,分为 “HTML 解析”、“CSS 解析”、“生成样式树”、“生成布局树”、“绘制” 5 篇内容。在往期周报中,我们已经推荐前 3 篇,本期作者更新了最后 2 篇。至此,本系列已全部完结,感兴趣的读者可以一起动手练习,对我们理解现代浏览器渲染引擎的工作原理会有所帮助。
+
+### 🐎 [How OrderedSet works](https://oleb.net/2021/ordered-set/)
+
+[@四娘](https://kemchenj.github.io/):新的 [Swift Collection](https://swift.org/blog/swift-collections/) 库为我们带来了一些实用的集合数据结构,在这篇文章里作者就为我们分析了其中 OrderedSet 的实现方式。
+
+## 代码
+
+### [GetX](https://github.com/jonataslaw/getx)
+
+[@Damienn](https://github.com/ZengyiMa):GetX 是 Flutter 的一个轻巧并且强大的库。它具有高性能的状态管理、智能的依赖注入和路由管理的能力。并且 GetX 围绕着研发的生产力、高性能和优秀的代码架构这 3 点设计原则去整体性的设计,对于使用 Flutter 的同学不妨一试。
+
+### [ResponderChain](https://github.com/GodL/ResponderChain)
+
+[@红纸](https://github.com/nianran):ResponderChain 提供了一种通过响应者链传递事件/数据的新方式,有别于传统 iOS 开发中 delegate 与 block 的形式,无需找到具体实例,即可进行数据和事件的传递。
+
+> 自荐:[GodL](https://github.com/GodL)
+
+## 音视频
+
+### [GGTalk | 某 C:两年前从合肥去广州,两年后从广州回合肥,我为什么放弃一线城市和一线大厂](https://www.xiaoyuzhoufm.com/episode/6087ff41d99c5b06d55584f7?s=eyJ1IjoiNWU3ZDRiZTBhMmYyZTUwM2NlYzQzZTM3IiwiZCI6MX0%3D)
+
+ [@含笑饮砒霜](https://weibo.com/chinafishnews/):这是一篇值得一听的播客,请到的嘉宾是两年前从合肥去广州,两年后又从广州回合肥的 BNC。这两年在微信工作的 BNC 也谈到了大家比较感兴趣的一些问题,比如在微信的工作体验以及为什么离开微信,微信为什么总是被骂等。逃离北上广还是回到北上广这几年时常会引起社会讨论,这是一个没有标准答案的选择,不管在哪里,遵从自己的内心,我们终将都有光明的未来!
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> 哈啰出行(杭州/上海)招聘 资深/专家 iOS 开发工程师,参与哈啰出行 App 的软件架构设计 / 日常迭代开发;负责客户端应用优化及相关领域的技术探索;有大中型项目的开发经验优先,有跨端 (Flutter/ReactNative) 项目开发经验优先,有安全性、性能优化经验的优先。联系方式:邮箱:shishaoyong11215@hellobike.com 微信:CrazyCoder_SY
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#159-2021.05.17.md b/Reports/2021/#159-2021.05.17.md
new file mode 100644
index 000000000..1e242219a
--- /dev/null
+++ b/Reports/2021/#159-2021.05.17.md
@@ -0,0 +1,114 @@
+# 老司机 iOS 周报 #159 | 2021-05-17
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Announcing the Swift Mentorship Program](https://swift.org/blog/swift-mentorship-program/)
+
+> [知识小集](https://mp.weixin.qq.com/s/0B7kTL3UkvA_Nfpkzy7jUw):近日,Swift 官方针对 Swift 社区的新贡献者,发布了 Swift 导师计划。这一计划旨在为成为 Swift 项目积极开源贡献者的开发人员提供帮助与支持,同时可以获得社区中经验丰富的贡献者的直接指导。
+>
+> 参与计划的每位开发者都有机会与 Swift 社区中经验丰富的开发人员联系,并向他们学习。同时,根据自己的学习目标,开发者可以为 Swift 项目甚至 Swift 编译器项目贡献代码。社区会根据学习目标来匹配开发者和导师,并让他们一起在开源项目上合作 12 周时间。
+>
+> 一方面,对于新贡献者而言,降低了贡献代码的准入门槛,不需要事先为项目做出贡献,同时能提升更多的技能;另一方面,对于导师来说,也是一个不错的增加领导技能的机会。对于双方而言,都是有益的。
+>
+> 感兴趣的小伙伴们,特别是在校的学生朋友们,可以考虑加入这一计划,相信一定能从中受益匪浅。该计划的详情可点击原文链接查看。
+
+## 文章
+
+### 🌟 🐕 [LLVM Link Time Optimization](https://mp.weixin.qq.com/s/Th1C3_pVES6Km6A7isgYGw)
+
+[@Leo](https://github.com/leomobiledeveloper):Link Time Optimization,简称 LTO 是一种在链接期间对代码进行优化的技术,因为链接过程能看到应用程序的全貌,所以能做一些全局的优化来提高运行时的性能以及减小二进制的大小。本文是一篇 LTO 入门的佳作,作者不仅分析了实际场景下如何让 LTO 产生效果,还从原理的角度讲解了 LTO 是如何工作的,推荐阅读。
+
+### 🌟 🐕 [XD to Flutter 2.0 现已发布](https://mp.weixin.qq.com/s/VWSzeQb_pV9EWXqdWuu51A)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):XD to Flutter 插件是一个功能强大、易于使用的工具,可将您的 Adobe XD 设计导出为简洁、有效的 Flutter 代码。您可以从自己的设计中复制特定视觉元素的代码,导出各种可再利用的 Widgets,甚至可以将一些视图整个导出,无论您是要使用它来复制某个构思精妙的渐变效果的代码,还是要导出完全响应式、参数化、交互式的 Widget,都非常简单。
+
+### 🌟 🐕 [A站 的 Swift 实践 —— 上篇](https://mp.weixin.qq.com/s/rUZ8RwhWf4DWAa5YHHynsQ)
+
+[@xiaofei86](https://github.com/xiaofei86):经过不断迭代,Swift 如今已成 iOS 乃至苹果全平台首选开发语言,A 站也已经完全投入到 Swift 浪潮中,享受到 Swift 语言带来的舒适和高效开发体验。作为 A 站的 Swift 实践上篇,本文介绍了 Swift 的技术背景,A 站使用 Swift 的架构演进过程,以及对最新框架 SwiftUI 和 Combine 等技术的选型。大家可以关注“快手大前端技术”公众号,下篇内容会详细介绍混编和 Swift 动态性。
+
+### 🐢 [自由、开源及其敌人 —— RMS事件簿](https://mp.weixin.qq.com/s/Q3DDYYiGbJJREii7ZPBuMg)
+[@zvving](https://github.com/zvving):无论你身处大厂还是创业团队,不可避免,我们大量的工作要用到开源项目。除了不同开源协议对源码开放&商用的已有约定外,你可曾想过:基于公司或个人的道德判断,你也许不能再使用部分开源项目。
+
+[『开源项目是否需要考虑使用者道德』](http://esr.ibiblio.org/?p=8106)这一争论从未停止,而今愈演愈烈。
+本文用罗列各方事件的方式,尽可能客观的描述围绕[RMS(Richard M. Stallman)](https://stallmansupport.org/who-is-richard-stallman.html)以及开源&[道德平权思潮](https://ethicalsource.dev/)讨论的纷争。
+
+作为软件行业从业者,这纷争成因以及对开源社区的影响,值得我们每个人关注。
+
+> 1. RMS是自由软件运动&GNU 的发起人,GCC、EMACS 作者
+> 2. 值得参考的相关评论:[围绕RMS、开源、自由软件的两场“战争”](https://mp.weixin.qq.com/s/Kr0FzkpA-EHT51F7PVX76A)
+
+### 🐕 [Monitoring for iOS with MetricKit: Getting Started](https://www.raywenderlich.com/20952676-monitoring-for-ios-with-metrickit-getting-started/)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了苹果官方提供的用于监控 iOS 程序的 MetricKit,该组件自 iOS 13 之后提供,在 iOS 14 也提供了新的 API。本文介绍了该组件的几个关键部分:
+
+- MXMetricManager:核心管理类
+- MXMetricPayload:封装了每日上报的数据
+- MXDiagnosticPayload:具体的性能相关的信息
+- MXCallStackTree:调用栈相关的信息
+- MXAppExitMetric:APP 退出的相关信息(iOS 14提供)
+
+最后也介绍了该组件在 Organizer 上的使用方法。
+
+### [Flutter 状态管理: 使用 MobX](https://mp.weixin.qq.com/s/ken-UT3cmxc5aeWKkM-Lzg)
+
+[@Damien](https://github.com/ZengyiMa):众所周知,状态管理是每个软件项目都需要持续迭代更新的方向。在 Flutter 项目中,你可以使用 MobX 来管理应用中的各种状态,要在 Flutter 中高效地使用 MobX,需要遵循以下原则:
+* 我们能访问任意状态中的可观察对象(即在我们应用运行过程中发生变化的变量)。
+* 我们可以在 View 中展示这些状态,并响应 Action 意图。
+* 我们可以修改状态,从而更新可观察对象以及相应的 View。
+
+除此之外,本文还配套了详细的使用示例,使用 Flutter 的同学不妨一试。
+
+## 代码
+
+### [SwiftUI-Hooks](https://github.com/ra1028/SwiftUI-Hooks)
+
+[@AidenRao](https://weibo.com/AidenRao):作者基于 React Hooks 的思想,开发了一套 SwiftUI Hooks。SwiftUI Hooks 将状态和生命周期引入视图,而不必依赖于类似 @State 或 @ObservedObject 这些仅允许在视图中使用的元素。它还允许我们通过构建由多个钩子组成的自定义钩子在视图之间重用状态逻辑。此外,诸如 useEffect 之类的钩子也解决了 SwiftUI 中缺乏生命周期的问题。
+
+### [Animatable - 使用 PropertyWrapper 实现动画代码复用](https://github.com/GodL/Animatable)
+
+[@享耳先森](https://github.com/iblacksun):`PropertyWrapper` 结合 `Codable` 实现 Model 的安全解析相信大家在使用了,作者利用 `PropertyWrapper` 实现了一个 CAAnimation 复用的库,代码非常简单,可以直接跳到 Github 浏览。
+
+> 自荐:[GodL](https://github.com/GodL)
+
+### [OverlayContainer](https://github.com/applidium/OverlayContainer)
+
+[@JonyFang](https://github.com/JonyFang):`OverlayContainer` 是一个 Swift 编写的 UI 库。它的作用是让一些场景下的界面开发变得更加轻便,例如在 Apple Maps、Stocks 或 Shortcuts 应用中看到的界面。
+
+### [SwiftRegexDSL](https://github.com/kodlian/SwiftRegexDSL)
+
+[@老峰](https://github.com/GesanTung):在开发中我们经常会写正则表达式处理字符串,虽然每天都在使用和创建正则表达式,但是每次我们都必须依靠网络搜索和旧版文档。`SwiftRegexDSL` 提供了一种使用声明式结构化的 API 来使用正则表达式,它主要提供 match、range、replacingOccurrences 等字符串处理方法。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#160-2021.05.24.md b/Reports/2021/#160-2021.05.24.md
new file mode 100644
index 000000000..2ee4d2479
--- /dev/null
+++ b/Reports/2021/#160-2021.05.24.md
@@ -0,0 +1,99 @@
+# 老司机 iOS 周报 #160 | 2021-05-24
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 通知
+
+### 🌟 周报公众号新增关键词自动回复
+
+[@Parsifal](https://github.com/ParsifalC):公众号后台不时都有读者发送一些希望查询检索的词语,为此我们根据“个人经验”设置了几条较常见的内容,并配上对应的 GitHub 检索页面和可能有的专辑链接。已经设置的关键词有 **招聘**、**flutter**、**swift**、**webview**、**swiftui**、**性能优化**和 **IAP** 等。
+
+当然,我们更鼓励喜欢自己动手,丰衣足食的朋友,目前检索周报内容有两种方式:
+
+- 到我们 [GitHub Repo 利用 “Search In Repo” 的功能](https://github.com/SwiftOldDriver/iOS-Weekly/search?q=swift) 对周报全仓库内容进行检索
+- 到我们微信公众号主页的右上角搜索功能进行公众号内检索,由于我们迁移过一次公众号,这种搜索方式只能搜索去年下半年开始的内容
+
+### 🌟 周报公众号代发内推信息事宜
+
+[@Parsifal](https://github.com/ParsifalC):目前客户端,尤其是 iOS 岗位,都比较缺乏高级工程师,理解各位招聘负责人的不容易。所以周报目前是友情代发招聘信息不收费,以后也不会收费。但正如大家所看到的那样,我们收到的招聘信息只会放在次条推送,而次条则依赖于我们首条的文章。所以首条如果没内容的话,自然就不会有次条了。这就导致如果招聘需求多的话,就会排队比较久。介于这种情况,我们很希望大家向我们公众号投稿,以稿发招聘信息,我们会将该招聘需求从队列里提前发送,并且从招人诚意上来看,用一篇值得大家认可的文章来切入招聘,也会更有说服力,得到曝光的机会也更多。
+
+最后,所有招聘事宜和投稿事宜,可以加 V 联系 **iTDriverr**。
+
+## 文章
+
+### 🐢 [Flutter 2.0 iOS 包大小优化 ](https://juejin.cn/post/6959811895645700132/)
+
+[@邦Ben](https://weibo.com/linwenbang):该文章介绍了在 Flutter 2.0 下如何拆分 AOT 编译产物,以实现动态下发这部分产物从而达成包体积优化的目的。Flutter 2.0 对比 1.x 的版本来说调整了不少流程,因此对于做过 1.x 拆分的同学升级会有所有帮助,想了解整体加载流程的话也值得一看。不过这里值得注意,任何动态下发都会存在失败率的可能,因此如果你的 APP Flutter 作为核心部分不可缺少的话,并不太建议做拆分,也需要考虑好容错降级的处理,同时 iOS 的包体积要求一般也相对宽松。
+
+### 🐕 [iOS 极致速度优化:快速打开任意 APP 的设置界面](https://mp.weixin.qq.com/s/DpLy_o3wMpZauiPnU1aSBw)
+
+ [@含笑饮砒霜](https://weibo.com/chinafishnews/):本文通过分析 [UIApplication openURL:] 的背后逻辑,提供了一种打开任意 APP 设置页面的方法。同时也可以发现,该方案可以减少了很多检验逻辑,并减少了 xpc 调用,可以大幅度提升打开设置页面的速度。
+
+### 🌟 🐕 [探索微信聊天 UI 逻辑实现](https://everettjf.github.io/2016/06/19/reverse-explore-wechat-message-design/)
+
+[@zvving](https://github.com/zvving):『聊天页面 cell 有两种实现方式:一种是每类消息定义不同 Cell,另一种是微信的实现方式。』是段子也是事实。本文作者 [Everettjf](https://everettjf.github.io/about/) 详细记录逆向执行及分析过程,带你一起了解微信聊天界面的实现方式,是不可多得的逆向学习案例。
+
+> 文章成于 2016 年,经与微信同学确认,诸多内容已经调整,文章逆向的探索过程依旧值得学习。
+
+### 🌟 🐢 [普通技术人的成长路径 - 一位客户端老兵的经验之谈](https://mp.weixin.qq.com/s/IrSQyyc0J3SXBuWs9M3SYA)
+
+[@折腾范儿_唯敬](https://weibo.com/agvicking/):做客户端的同学或多或少都会进入一些迷茫期,客户端这条路的发展有多深?我该如何提升自己?如何摆正自己的心态来面对现今工作上越来越多的焦虑?不妨看看牟爽的这一篇经验之谈,看看过来人这一路是如何走过来的。整篇文章更多是老兵的个人感慨分享,因为每个人的工作经历与成长历程不同,老兵在文中所讲的也许不见得能100%和每个人不同的经历产生共鸣,而且短短的文字无法深刻的表达出这些真实经历背后真实的故事所对应的思考。但相信老兵的感慨是能够让读者感受到真诚与一些作为经历过人的苦口婆心,有不解和困惑也欢迎和老兵进一步进行交流与解惑
+
+### 🐢 [【译】SE-0306 Actors](https://github.com/SwiftOldDriver/iOS-Weekly/issues/2792)
+
+[@四娘](https://kemchenj.github.io/):Swift 在下个版本 5.5 将会带来 async/await 语法的支持,它解决的是异步编程控制流复杂的问题,让我们可以像同步代码一样去组织代码的控制流。
+
+从异步迈向并发的路上,我们还需要考虑如何组织调度这些异步操作,并且避免并发数据访问带来的数据竞赛问题。Swift 选择了 Actor 作为它的并发模型,**将 actor 作为一种新的类型引入,并且为其提供了静态的 data-race 检测**。
+
+这是自 1.0 版本之后首次引入的新类型,足以说明这次改动之大,与过去两年的小修小补不同,强烈推荐大家阅读这份提案,它将会在未来两三年,影响 Swift 编程模型的方方面面。
+
+### 🐎 [越狱 iOS app 砸壳这件事儿](https://mp.weixin.qq.com/s/xFHA2tlc6HCLti_ihlrsZA)
+
+[@Damien](https://github.com/ZengyiMa):你对逆向感兴趣吗?在所有逆向教程中都会从砸壳这一步开始,那么什么是砸壳呢?以及砸壳的原理是什么呢?那就一起来深入了解一下吧,本文会详细介绍如何砸壳,以及砸壳的多种思路和手段。对想了解逆向知识的同学是个不可多得的入门教程。
+
+## 摸鱼周报
+
+[@摸鱼周报 #11](https://mp.weixin.qq.com/s/hE9wYlLX8F1sKjIF5eIPVQ):本期摸鱼周报带来了 **程序员必知的硬核知识大全** 的内容解读,它由 [crisxuan](https://github.com/crisxuan/bestJavaer) 整理完成,经作者授权该 PDF 已经放在了周报仓库里,有兴趣的同学可以下载阅读全文。我们以概念的形式对一些重要知识进行解释,会分三期,本期周报是第一期内容,包含有:CPU、寄存器、程序计数器、内存,IC 等内容的介绍。
+
+另外我们还总结了几个实用的 Tips :如何在不继承第三方 SDK 的情况下完成对应的身份验证以及如何使用 Charles 为 Apple TV 端的网络请求进行抓包。
+
+## 代码
+
+### [UIImageColorRatio](https://github.com/623637646/UIImageColorRatio)
+
+[@水水](https://www.xuyanlan.com):使用 Swift 实现的计算 UIImage 各颜色占比的工具。
+
+> 由 [Yanni Wang 王氩](https://github.com/623637646) 自荐
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#161-2021.05.31.md b/Reports/2021/#161-2021.05.31.md
new file mode 100644
index 000000000..acf65e555
--- /dev/null
+++ b/Reports/2021/#161-2021.05.31.md
@@ -0,0 +1,108 @@
+# 老司机 iOS 周报 #161 | 2021-05-31
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 🐕 [Flutter 2.2 发布](https://mp.weixin.qq.com/s/_btkqmzWMeZLlL4UdhtUhw)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Google I/O 2021 大会上, Flutter 2.2正式发布,号称是迄今为止最出色的 Flutter 版本。在稳定版和预览版均有不少新特性发布:
+- 稳定版:
+ - Dart 2.13
+ - Flutter web 更新
+ - iOS 页面转场和增量式安装
+ - 更多 Material 图标
+ - 改进文本处理方式
+ - 自动滚动行为
+ - TextSpan 上的鼠标指针
+- 预览版:
+ - iOS 着色器编译改进
+ - Android 延迟加载组件: 可下载的 AOT 代码和资源
+ - Flutter Windows UWP alpha 版
+ - ARM64 Linux 主机支持
+
+## 文章
+
+### 🌟 🐢 [A站 的 Swift 实践 —— 下篇](https://mp.weixin.qq.com/s/EIPHLdxBMb5MiRDDfxzJtA)
+
+[@xiaofei86](https://github.com/xiaofei86):经过不断迭代,Swift 如今已成 iOS 乃至苹果全平台首选开发语言,A 站也已经完全投入到 Swift 浪潮中,享受到 Swift 语言带来的舒适和高效开发体验。《[A 站的 Swift 实践——上篇](https://mp.weixin.qq.com/s?__biz=MzkxOTI0MTA2OA==&mid=2247485577&idx=1&sn=8afb1e639a832c10a966ff0ab7576b44&chksm=c1a4608af6d3e99ceeff729ea6736394266cbca7ac46040a1401d1dd805d4ae0950a5f1ae411&scene=21#wechat_redirect)》介绍了 Swift 的技术背景、Swift 的架构演进过程以及对最新框架 SwiftUI 和 Combine 等技术的选型。作为下篇文章,本文会继续介绍 Swift 的混编和动态性。
+
+### 🌟 🐎 [SwiftUI @ Netflix:推动新技术落地是怎样一种体验?](https://mp.weixin.qq.com/s/oRPRCx78owLe3_gROYapCw)
+
+[@zvving](https://github.com/zvving):项目中如何推动落地新技术,是技术人持续面对的问题:
+
+- 选择什么新技术?可以是有业务/性能收益,也可以是降低开发/维护成本,切换/学习成本是否可控
+- 在什么场景落地?要有足够的用户量级论证收益,也要模块独立避免引入成本过高。业务简单稳定的模块是不错的选择
+- 如何在项目中发起?有充分的调研与清晰的方案(硬实力),也要与上下游团队的频繁沟通同步预期(软沟通)
+- 如何落地?尤其留意通过 A/B 实验论证对产品指标及工程指标的影响,指标不负向,成功大半
+- 落地的后续?反思新技术的引入过程是否和预期一致,后续的规划是怎样
+
+[故胤道长](https://www.jianshu.com/u/8d5b91490ca5)对以上问题的思考在文中均有体现,是非常不错的参考案例。你对项目中计划引入的新技术,又有怎样的规划?
+
+### 🚧 🐕 [源码级调试 App Store 包](https://blog.indigo.codes/2021/05/23/debug-your-app-store-app/)
+
+[@Smallfly](https://github.com/iostalks): 你是否曾为本地 Debug 没问题,Release 包却不能稳定复现 Bug 束手无策?本文作者 @靛青 介绍了如何从一个壳工程开始,一步步实现调试 AppStore / TestFlight 包。
+
+文中提供了自动化构建调试工程的脚本,你只需要提供自己的 ipa 和 dSYM 文件,使用少量的 `lldb` 命令,即可完成源码级断点调试。
+
+
+### 🐕 [正经分析iOS包大小优化](https://mp.weixin.qq.com/s?__biz=MzU3NTY3MTQzMg==&mid=2247505253&idx=1&sn=7123c2548a3d8412a6e0ec6e72634664&chksm=fd1d0882ca6a81948d0125ca7d5a8d614bb2f79b8dc274a6d59205ddc74b71d3242826bc7e42&mpshare=1&scene=1&srcid=0527S6Ko4joeOz56MiT0Vzfj&sharer_sharetime=1622074623255&sharer_shareid=283ec3502fd417eeb429d443f712b520#rd)
+
+
+[@J_Knight_](https://github.com/knightsj):本文作者笔者根据已有的文章、知识结合自己的理解和实践,梳理了一份比较全面的包大小优化的方案。本文先分析了安装包的构成,然后给出了 Xcode 编译设置优化方案和优化前后的数据对比。另外还提供了资源文件的优化方法,包括无用资源的删除(未使用的代码和图片,重复导入的资源等)以及资源(图片,网页,音频等)的压缩方案。另外在文章结尾还提供了本文的参考文献,读者也可以做延伸阅读和学习。
+
+
+### 🐎 [一种使用 CocoaPods 同步 Git hooks 的方案](https://dirtmelon.github.io/posts/cocoapods-sync-githooks/)
+
+[@四娘](https://kemchenj.github.io/):Git hooks 是一段脚本,可以在 Git 执行某些操作之前或者之后执行,比如说 commit , push 或者 receive,我们可以使用它来进行代码格式化等操作。
+
+但它不会被 Git 追踪,只能通过其它手段进行同步,本文就介绍了如何使用 Cocoapods 插件进行同步。
+
+
+### 🐕 [iOS优雅实现Pipeline设计模式](https://github.com/ChenZeBin/blogs/blob/master/%E6%96%87%E7%AB%A0/PipelineDesign/iOS%E4%BC%98%E9%9B%85%E5%AE%9E%E7%8E%B0Pipeline%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md)
+
+[@JonyFang](https://github.com/JonyFang):本文主要介绍了 Pipeline 设计模式,使用场景,以及如何使用 OC 语言用链式语法优雅的将 Pipeline 串联起来。文中最后附带了示例 Demo,对于读者了解 Pipeline 设计模式的实践有一定的帮助。
+
+### 🚧 🐕 [How to scan a credit card using Apple Vision and VisionKit natively in iOS Swift with SwiftUI and UIKit](https://khalidasad93.medium.com/how-to-scan-a-credit-card-using-apple-vision-and-visionkit-natively-in-ios-swift-with-swiftui-and-247fa0863141)
+
+[@红纸](https://github.com/nianran):iOS 13 发布的新框架 VisionKit 是关于文档识别的新框架,本文作者保姆式介绍了该框架在扫描信用卡场景下,如何配置工程、视图、逻辑,用自定义解析逻辑提高扫描精度。在文末作者还提供了完整版 Demo,有兴趣的小伙伴可以进行尝试一下~
+
+## 摸鱼周报
+
+[@摸鱼周报 #12](https://mp.weixin.qq.com/s/hJkXjH1OFoF1XSd1ENlpAQ):本期摸鱼周报带来了 **程序员必知的硬核知识大全** 的第二部分内容,包含对:二进制、大小端、缓存、压缩算法等内容的介绍。
+
+另外我们还总结了几个 Xcode 耗时统计的 Tips;博客的筛选将更偏向于主题形式的汇总,除了近期几篇优秀文章外,本期还收录了几篇 `wakeup` 崩溃相关的文章,便于大家对这一知识有更全面的认识;资料部分收录了一个很不错的网站:swiftbysundell.com,它由 [John Sundell](https://twitter.com/johnsundell) (Publish的作者) 创建,网站包含 Swift 开发的文章、播客及新闻等内容。对 Swift 的深度使用和探索一直都是国外开发者走在前面,希望对 Swift 感兴趣的各位能在这个网站中探索更多内容。
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#162-2021.06.07.md b/Reports/2021/#162-2021.06.07.md
new file mode 100644
index 000000000..3d9e61c67
--- /dev/null
+++ b/Reports/2021/#162-2021.06.07.md
@@ -0,0 +1,158 @@
+# 老司机 iOS 周报 #162 | 2021-06-07
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC 2021
+
+**明天,也就是 6 月 8 日凌晨 1 点,WWDC 21 正式拉开序幕,周报编辑组也将投入到 WWDC 21 的相关活动中去,所以下周周报将会停更一期,欢迎大家关注我们接下来的一系列 WWDC 专题活动!**
+
+### 🌟 [WWDC 21 内参作者招募 & WWDC 20 内参免费领取](https://mp.weixin.qq.com/s/_VdIsQbnnwb1MQUTpAGOyA)
+
+[@Parsifal](https://github.com/ParsifalC):伴随着 WWDC 即将开幕,由周报牵头举办的一年一度 WWDC 内参活动也开始了筹备工作。今年我们想尝试从广大读者中也邀请一些对 WWDC 内参编写感兴趣的人一起参与内参的编写。另外,我们**所有读者都可以免费领取** WWDC 20 的专栏。不管是想参与 WWDC 21 编辑工作,还是想免费领取 WWDC 20 内参,都可以点这里 - [我是福利](https://mp.weixin.qq.com/s/_VdIsQbnnwb1MQUTpAGOyA)
+
+### 🌟 [WWDC.playground by SwiftGG](https://swift.gg/wwdc/)
+
+[@Parsifal](https://github.com/ParsifalC):WWDC 21 将于 6 月 8 日凌晨 1 点正式在线上举行,今年国内的 iOS 社区组织了多个不同形式的活动,WWDC.playground 就是其中一项。SwiftGG 邀请了来自世界各地的设计师、产品经理以及 Swift 社区活跃开发者,站在他们各自的视角,和大家一起聊聊 WWDC21。帮助大家更好地跟上 WWDC21 的节奏,尽快把新技术集成到自己的产品中。值得一提的是,本次活动被苹果官方列入了 [Beyond WWDC](https://developer.apple.com/wwdc21/beyond-wwdc/) 的专题列表,快来关注吧~
+
+### 🐎 [A Swift developer’s WWDC dreams - 2021 edition](https://www.swiftbysundell.com/articles/a-swift-developers-wwdc-dreams-2021/)
+
+[@四娘](https://kemchenj.github.io/):今年 SwiftBySundell 也在博客里分享了他作为 Swift 开发者的心愿单,包括:
+
+- SwiftUI 提供更多可以自定义的接口
+- 让所有接口都 Async/await 化
+- 可交互的 Widget
+- 更加强大可靠的工具链
+- Xcode on iPad
+- 使用 Swift 全栈开发
+
+期望苹果今年也可以帮助所有开发者喜加一。
+
+### [WWDC NOTES](https://wwdcnotes.com/)
+
+[@老峰](https://github.com/gesantung):WWDC NOTES 是一个持续更新 WWDC Session 的网站,包含历年新功能、新设计、新框架、新开发工具,也可以在这个网站上提交新的笔记,对 WWDC21 感兴趣的同学可以收藏此网站,接下来会同步更新 WWDC21 相关内容。
+
+## 新手推荐
+
+### 🐕 [Dart 里的类型系统](https://mp.weixin.qq.com/s/aBOUm6E1CXGl-GyKP94TeA)
+
+[@邦Ben](https://weibo.com/linwenbang):该文是翻译文,文内主要讲述了 Dart 里面的类型系统,适合新手入门的时候看看。里面也提到一些不常见用法,例如 `names.forEach(print)` 等价于 `names.forEach((name){print(name);});`;以及可调用对象 `Foo()();` 这种比较 trick 的用法,详细可以看下文章。
+
+## 文章
+
+### 🐕 [无埋点核心技术:iOS Hook 在字节的实践经验](https://juejin.cn/post/6968275950786215944?utm_source=gold_browser_extension#heading-0)
+
+[@JonyFang](https://github.com/JonyFang):常见的埋点采集方案是在响应用户行为操作的路径上进行埋点,但由于 App 通常会有比较多界面和操作路径,主动埋点的维护成本会很大。所以行业的做法是无埋点,而无埋点实现需要 AOP 编程。
+
+实现方案的迭代及实践中碰到的坑:
+1. 方案的迭代
+ - Method Swizzle
+ - 代理模式
+2. 方案接入后的踩坑
+ - 野指针引发的问题的分析定位及修复方案
+ - RxCocoa 引发的问题的分析定位及修复方案
+
+Hook 不是很优雅的方式,原因在于随着实际应用场景复杂性的变化,任何 Hook 都有可能存在兼容性的问题。文中最后也给出了相应的建议:
+- 谨慎使用 Hook;
+- Hook 系统接口一定要遵循一定的规范,不能假想只有你在 Hook 这个接口;
+- 不要假想其他人会怎么处理,直接把多种方案集成到一起,构建多种场景,测试兼容性。
+
+### 🐎 [字节小哥带你揭秘 Dart VM 魔术盒](https://juejin.cn/post/6960932663095984136)
+
+[@Damien](https://github.com/ZengyiMa):本篇文章是由字节移动平台团队带来的 Dart VM 文章,本文会详细介绍在 Dart VM 中的 Dart VM Isolate, Run From Source Via JIT 以及 Running from Snapshots 3个核心运行机制,文章内容层层深入带读者逐步理解其原理,对学习 Flutter 以及 Dart 底层感兴趣的同学可以好好研读一番。
+
+### 🐕 [Adding Swift Code as Custom LLDB Command](https://swiftsenpai.com/testing/add-custom-lldb/)
+
+ [@含笑饮砒霜](https://weibo.com/chinafishnews/):多数开发者工作中都会使用到 LLDB 命令,但是很多人却不知道可以使用纯 Swift 代码定义自己的 LLDB 命令。本文介绍了如何添加你的第一个 LLDB 命令、添加带参数的 LLDB 命令以及将复杂的 Swift 代码转换为 LLDB 命令。有些自定义的命令特别有用,会让我们在开发中受益。
+
+### 🐎 [🐞 Insidious Bugs #3: Apple App Site Association File Identifiers](https://lickability.com/blog/insidious-bugs-number-3-apple-app-site-association-file/)
+
+[@Smallfly](https://github.com/iostalks):本文介绍了 Lickability 团队 App 在支持 [Associated Domains](https://developer.apple.com/documentation/xcode/supporting-associated-domains#Overview) 能力时的踩坑经历。根据苹果文档介绍,在创建 `apple-app-site-association` 文件时,其中的 `appIds` 字段值需由 `.` 格式组成,却没有说明 Application Identifier Prefix 前缀是什么。他们经过一系列的尝试之后,在 Team Identifier 和 App Identifier 之间找到了答案。
+
+> 想了解更多关于 universal link 相关的应用,建议阅读周报编辑 [@味精](https://github.com/Awhisper) 的这篇文章 - [Universal Link 前端部署采坑记](https://awhisper.github.io/2017/09/02/universallink/)。
+
+### 🐢 [What's new in Swift 5.5?](https://www.hackingwithswift.com/articles/233/whats-new-in-swift-5-5)
+
+[@AidenRao](https://weibo.com/AidenRao):Swift 5.5 的第一个测试版本,即将在 WWDC 上放出。它将带来大量改进,async/await, actors, throwing properties 等,本文通过代码示例,逐一介绍每个改动。
+
+- [async/await](https://mp.weixin.qq.com/s/ofYWD4AHm8qR65n0P2mbeA):异步函数,允许将异步代码当作线性同步代码来编写
+- actors:在并发环境中可以安全使用的类,只能由单个线程访问 actor 内的可变状态
+
+### 🐎 听说你想写个 React
+
+* [听说你想写个 React - dom](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485430&idx=1&sn=6c7e1c1f2e54299305a314a4f79e6422&chksm=cf55883ef8220128caf3c4b07ef53d1f40ce742af40c8a2aef1f5ced37b18d1e2df6934eb80b&token=269095387&lang=zh_CN#rd)
+* [听说你想写个 React - jsx](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485430&idx=2&sn=7b738f351870748af72fc7db14877082&chksm=cf55883ef8220128bc4923c1ab1c4d619bc71bcc57750ae9cc71fe56504cd04f4e3d270a8ec6&token=269095387&lang=zh_CN#rd)
+* [听说你想写个 React - virtual dom](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485507&idx=1&sn=43a4f84434da7e654e8f5fccbf4d1bb2&chksm=cf55878bf8220e9db00cd7c2587c47197c3580d25fe73e4d9fcfd6c468bf4ae7ce846b9eba89&token=269095387&lang=zh_CN#rd)
+* [听说你想写个 React - Component](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485599&idx=1&sn=f4665f943af6bc916b0d669e7783d2e5&chksm=cf558757f8220e4143282eb9f608e1727326ddb9b68ea0bff467ac1ed16c9e6803fc21e3d549&token=1155900023&lang=zh_CN#rd)
+
+[@老驴](https://www.weibo.com/6090610445):这是个手把手教你从 0 开始写一个 React 系列文章。目前包含了 4 篇,跟作者一起动手实现 dom,jsx,virtual dom,Component。相信和作者一起写一遍之后,你对 React 的理解能更深入一层。
+
+### 🐢 [论证:iOS 安全性,为什么需要审核?](https://juejin.cn/post/6967199105541996575)
+
+[@anotheren](https://github.com/anotheren): 本文来自 Epic Games 与 Apple 诉讼中,针对 “iOS 安全性” 这个问题进行展开的辩论,即:苹果可以让 iOS 系统,在**应用分发**和**第三方访问**等方面更像 macOS,也*不会在安全性方面受到影响*。辩论中的内容,对于我们近一步了解 iOS/macOS 的安全机制十分有用,推荐阅读。
+
+### 🐢 [揭秘苹果应用审核团队(史上最全版)](https://juejin.cn/post/6970363897668698148/)
+
+[@Parsifal](https://github.com/ParsifalC):苹果的应用审核团队一直都很神秘,这篇文章从网上可查的一些蛛丝马迹,试图揭开审核团队的神秘面纱,读读还是比较有趣的,毕竟我们长期要与审核团队打交道,多了解一些他们的事情,不是坏事儿。
+
+> 本文由 [iHTCboy](https://github.com/iHTCboy) 推荐
+
+### 🐎 [面试过 500+ 位候选人之后,想谈谈面试官视角的一些期待](https://mp.weixin.qq.com/s/XNv3rYRJvv4N7Xaw-c5ZsA)
+
+[@莲叔](http://github.com/aaaron7): 一篇不错的讲通用面试技巧的文章,内容如标题,从一个大厂面试官的角度给出了一些实用中肯的建议。大厂的面试说难也难,说不难也不难。核心原因就是虽然 bar 很高,却有一套通用的方法论。比如不管哪个公司,面试官考察的套路都差不多。这篇文章乍看上去比较虚,但仔细的一条条看下来就是把这个套路很直白的说给你听。有需要的同学可以多多研究。
+
+### 🐢 [手把手教你 Debug — iOS 14 ImageIO Crash 分析](https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247488918&idx=1&sn=9d3f19288191569d4cdf4a6dcef80270&chksm=e9d0de74dea75762b0b77ccd20f0f50d7b42ba9ca847490f5a22decbd950ebe79b48d8e16c8e&scene=0&xtrack=1#rd)
+
+[@水水](https://www.xuyanlan.com):记录了一次 iOS 14 上大量出现的 ImageIO 相关堆栈的 Crash 问题的定位、分析、反汇编、最后修复的过程。读者不仅能够参考修复类似问题,也可以学习和借鉴本文 Crash 解决的思路。
+
+## 摸鱼周报
+
+[@摸鱼周报 #13](https://mp.weixin.qq.com/s/qJG74OQsJ1VV1cB6fDX8TA):本期摸鱼周报讨论了一个 Swift 5 出现的 `module stability` 问题,即使用不同版本 Swift 编译器编译的 binary 如何兼容。
+
+概念篇来到了**程序员必知的硬核知识大全**的最后一节,这节介绍的内容有:BIOS、汇编、虚拟机、外围中断、DMA 等。博客篇收集了一些介绍 watchdog 的文章,这些内容可以帮助你了解什么是 watchdog 以及如何定位这类问题。另外我们还收录了一个非常有意思的软件 [Whatpulse](https://whatpulse.org/),它可以为你统计你的键盘和鼠标使用情况,比如一天中你敲击了多少次按键以及各个按键的使用频率等。
+
+## 工具
+
+### 🐢 [XD to Flutter 2.0 现已发布!](https://mp.weixin.qq.com/s/VWSzeQb_pV9EWXqdWuu51A)
+
+[@极速男孩](https://github.com/ztlyyznf001): Adobe XD由 gskinner 与 Adobe 联合开发, 你可以将你的设计导出成 Flutter 代码,在 Adobe XD 2.0中,加入了 "堆栈" 和 "滚动组"的支持,可以转换成常见的 Flex Widget、Column、Row 以及 SingleChildScrollView 等Flutter Widget。
+
+## 音视频
+
+### [AirTag 有用,但不是完全有用](https://www.xiaoyuzhoufm.com/episode/60b419020013dcfe5cf0d581)
+
+[@没故事的卓同学](https://github.com/lacklock):我最近做了一个播客[卖鱼桥分桥](https://www.xiaoyuzhoufm.com/podcast/607e818b3bfd9e4d8913a87b),里面会有一些内容围绕程序员的生活方式展开,如果有感兴趣的朋友欢迎关注一下。未来也会出几期和 WWDC 有关的内容,也安排一些针对开发者的采访。欢迎大家订阅。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> 微医云招聘高级 iOS 开发工程师,详细内容可参考 - [[杭州萧山] 微医 - 微医云 - 高级 iOS/Android 开发工程师](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&tempkey=MTExNl9Ga1hZTnRZL0orT0l3akY5TzhMWHk1MXNCeGQwX3pkRlB2QWFxQW1kTDJlOFRfU05NUWU5VTJ2dG1tcmRVRUUwa1E3RHRxRlNIb0tRamVzUmJ0b3JMc2ZuU1VXNWF5UF9zWGllemhBd1pzZWpFak9VQWU3dDdXMzlCeTVKYnZrb2Y1Z3RTZEcxYVpSSWtKck5ucHRsSFhaUjZTM29BYmN5d3EzWlZRfn4%3D&chksm=6aa2840b5dd50d1d947adf708480766b26d5729c6c39a24cb2cbf463af109980d5c0a37ddde3#rd),有意者简历投至邮箱:zhangmw1@wedoctor.com
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#163-2021.06.21.md b/Reports/2021/#163-2021.06.21.md
new file mode 100644
index 000000000..9a6801d9f
--- /dev/null
+++ b/Reports/2021/#163-2021.06.21.md
@@ -0,0 +1,135 @@
+# 老司机 iOS 周报 #163 | 2021-06-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又迎来了一位新人 - [@Smallfly](https://github.com/iostalks),他是来自网易云音乐的开发者,对 Native 和跨端技术栈均有涉猎,希望未来能一起给大家持续输出高质量内容~**
+
+## WWDC 21
+
+[@Parisfal](https://github.com/ParsifalC):WWDC 21 圆满结束,但关于 WWDC 21 的学习才真正开始~苹果官方汇总了[新技术和已有框架的重点变化](https://developer.apple.com/documentation/New-Technologies-WWDC-2021),本周我们针对部分内容更新了 6 篇 WWDC 21 Session 的深度解读,每篇文章都是经过不断推敲和审核才完成。
+
+### [【WWDC21 10114】 初见 StoreKit 2](https://xiaozhuanlan.com/topic/6138790425)
+
+[@黄骋志](https://github.com/ChengzhiHuang): 开发过 In-App Purchase 的同学应该都应该体会过被它 生涩难懂的 API、不合理的数据结构、难以处理的掉单 等问题支配过的恐惧。WWDC21 针对 StoreKit 做了一次全新的升级,同时得益于 Swift 的新特性,进一步简化了 API 调用,并带来了诸多新特性,阅读本文后相信你会惊艳于这次的升级。
+
+### [【WWDC21 10101】使用 ReplayKit 记录你的高光时刻](https://xiaozhuanlan.com/topic/1068759324)
+
+[@七夜](https://github.com/qiyer): 主要介绍了 Apple 为 ReplayKit 新增了一个新的特色功能 Clips Recording,用于记录用户应用或游戏内不超过 15 秒长的精彩瞬间。
+
+### [【WWDC21 10158】使用 VideoToolbox 探索低延迟视频编码](https://xiaozhuanlan.com/topic/2530964187)
+
+[@bqlin](https://github.com/bqlin): 讲述通过 VideoToolbox 最新功能实现低延迟 H.264 硬件编码,最大限度地减少端到端的延迟,并提高性能,实现最佳的实时通信和高质量的视频播放。
+
+### [【WWDC21 10019】在 SwiftUI 中遇见并发编程](https://xiaozhuanlan.com/topic/2957164803)
+
+[@Edmond](https://github.com/looseyi): 众所周知,在计算机领域并发是很棘手的一个难题,现在您拥有了管理应用程序中这种复杂性的工具。我们希望您喜欢并了解 Swift 5.5 和 SwiftUI 中出色的新并发工具,我们期待看到您使用它们解决应用程序中棘手问题。
+
+### [【WWDC21 10134】 探索 Swift 结构化并发](https://xiaozhuanlan.com/topic/3625784190)
+
+[@SZ](https://github.com/imagiczhang): Swift 5.5 创新性地引入了结构化并发的概念。同时,也革命性地引入了不同风格的任务、任务树的自动管理机制以及编译时的数据安全检查,极大地降低了并发程序编写难度。尽管最终正式版还是存在更改部分 API 的可能,我们仍然推荐大家先学习并熟悉一下编写 Swift 程序的新方法。
+
+### [【WWDC21 10017】为 Swift 和 SwiftUI 带来 Core Data 并发](https://xiaozhuanlan.com/topic/4625791038)
+
+[@SZ](https://github.com/imagiczhang): 今年 Core Data 上带来了大量的功能增强,其中包括使用了 Swift 并发的新 API。 这些变化改善了使用 Core Data 进行 Swift 和 Swift UI 开发的体验,简化了异步数据操作的程序,因此我们推荐大家学习并逐渐开始使用这些新的 API。
+
+
+## 新闻
+
+### 🌟 WWDC. 技术沙龙 - 北京地区专场圆满结束
+
+[@Parsifal](https://github.com/ParsifalC):由 SwiftGG 和快手联合主办的 WWDC. 技术沙龙 - 北京专场于本周六在快手总部顺利举办,分享活动吸引了近 200 开发者朋友一起前来学习。本次分享的后续总结工作正在紧锣密鼓地进行中,同时由我们周报主办的杭州场和上海场技术沙龙也将陆续开放报名,欢迎各位同行好友来聚聚。本次活动我们不收取任何费用,除了嘉宾带来的主题分享外,现场更有主办方为每一位到场朋友悉心准备的伴手礼和茶歇,同时周报也将在现场免费赠送 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21) 哦。
+
+## 文章
+
+### 🌟 🐕 [Concurrency in Swift 5 and 6](https://forums.swift.org/t/concurrency-in-swift-5-and-6/49337)
+
+[@anotheren](https://github.com/anotheren):来 Swift 官方社区的帖子,介绍了 Swift 并发控制在 Swift 5 和 6 中的展望。Apple 需要考虑将 Swift 生态系统迁移到 Swift 6 会是什么样子,并预计这个过程需要数年时间。在此过程中,Apple 需要确保:
+
+- Swift 5.x 和 Swift 6 代码可以在并发模型的演进中,良好地相互操作
+- 逐步采用并发模型可以使代码更好维护,也更安全
+- 每个模块、包和程序都可以以自己的速度采用并发控制,而不会不必要地破坏原来的代码
+
+总的来说,Swift 5 中会更加宽松,以能够使并发控制逐步推广开,完成平稳过渡。而 Swift 6 会在需要的情况下要求异步执行的闭包满足 @Sendable (详见 [SE-0302 Sendable and @Sendable closures](https://github.com/apple/swift-evolution/blob/main/proposals/0302-concurrent-value-and-concurrent-closures.md))。
+
+### 🌟 🐕 [Xcode 工程文件解析](https://mp.weixin.qq.com/s/s5BQznKjSCt84ZLUlco7Vg)
+
+[@老峰](https://github.com/gesantung):从我们接触 iOS 开发就与 Xcode 工程配置文件 xcodeproj 打交道,本文作者详细介绍了 xcodeproj 文件结构,以及如何 xcodeproj 开源库 解析并修改 xcodeproj 文件,文章主要包含一下内容:
+
+- Xcode 工程文件组成:xcworkspace、xcodeproj
+- Project 解析、Object Module、Object Attributes、Xcode Object等
+- 通过代码编辑 Xcode 工程
+
+### 🐕 [iOS 14.5 如何用 PAC 保护 Objective-C 对象](https://mp.weixin.qq.com/s/VsqnWo6HGQT5LXdulpcaGg)
+
+[@AidenRao](https://weibo.com/AidenRao):一篇非常硬核的文章,本文介绍了 iOS 14.5 针对 Objective-C 运行时进一步加强 PAC 保护的两处改动。这些保护仅针对系统自带应用和服务启用,目的是防止跨进程和远程代码执行的漏洞利用。
+
+### 🐕 [Flutter IM 跨端架构设计和实现](https://mp.weixin.qq.com/s/ftZdQ-0GeMgr6kL9bZLA8w)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):一个非常好的跨端 IM 设计方案,从痛点分析到实施方案,到 DB 同步设计,以及状态管理,应有尽有。有相关业务小伙伴值得仔细阅读,文中很多解决方案可以带来不少参考.
+
+### 🐕 [从探索到实践,iOS 动态库懒加载实录](https://mp.weixin.qq.com/s/g5FKnOcW6KonqBSW8XO9Jw)
+
+[@红纸](https://github.com/nianran):本文是 58 同城对于 APP 模块动态化的实践总结,对方案定制、实现流程、方案结果对比、量化收益等多个方向进行描述。由于动态库的吸附性,团队整理完依赖树,选用自下而上的方式,将模块逐一动态库。并使用懒加载的形式加载动态库,而非启动加载,降低了启动耗时。
+
+### 🐕 [WWDC21 Ultimate application performance survival guide](https://gcsnnb.github.io/2021/06/09/APP%E6%80%A7%E8%83%BD%E7%BB%88%E6%9E%81%E7%94%9F%E5%AD%98%E6%8C%87%E5%8D%97/)
+
+[@Leo](https://github.com/leomobiledeveloper):性能是客户端永远绕不开的话题, 所以 WWDC 每年都会有很多 session 是关于性能的。这个 session 更像是一篇概述,讲解了苹果提供的性能相关监控、工具和诊断,推荐对性能感兴趣的同学阅读。
+
+* 推荐人:[GCSNNB](https://github.com/GCSNNB)
+
+### 🐕 [Code Signing - iOS 代码段的校验机制分析](https://mp.weixin.qq.com/s/msUwo3YUcfHXkuAp5wRfyQ)
+
+[@Smallfly](https://github.com/iostalks):从 iOS JIT 遇到 Crash 的神仙打架,到 iOS 代码段的校验机制。本文作者高级页面仔,从内核源码着手,详细地分析了 iOS 代码段合法性校验的时机和过程。最终给出了 Crash 的原因,并介绍了连接调试器和越狱环境下 JIT 不会 Crash 的实现原理。
+
+### 🐕 [听说你想写个 Lisp 解释器](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247485878&idx=1&sn=3f1b37ad693bfd2f0da24aab2616aafe&chksm=cf55867ef8220f68719be7f9666675eff677b7922d27155a079f6b15181cfa65c699cfd7e7a8&token=273579944&lang=zh_CN#rd)
+
+[@折腾范儿_唯敬](https://weibo.com/agvicking):我们使用的编程语言,我们写下的代码,本质上就是一行又一行的字符串,而这些字符串到底是如何工作的,这本是属于编译原理范畴。很多书或者有些文章也会介绍到“词法分析/AST/解释执行”之类的高大上的概念,稍微有些抽象也有些晦涩。但是本文作者 [silan-liu](https://github.com/silan-liu) 从一个最基础最简单的 Lisp 语言入手,从 0 开始用 swift 写了一个解释器,在这个过程中你可以看到从分词到解析,再到生成 AST 的全部代码过程,亲自感受一遍代码被理解被执行的过程,相信会比书本上抽象的概念更容易吸收和理解。注:本文是该文章的第一篇,写到了生成抽象语法树 AST,而 AST 的执行运算出最终的结果,还请继续期待作者的下一篇文章。
+
+## 摸鱼周报
+
+[@摸鱼周报 #14](https://mp.weixin.qq.com/s/br4DUrrtj9-VF-VXnTIcZw):本期我们整理了一些包体优化的方案,从资源到代码层面,涉及的 Tips 很多,为了便于观看和记忆,我们将其制作成一张思维导图。开发者账号的续费问题最近有好几个小伙伴都有遇到,我们将其中的注意事项做了一个整理。
+
+概念篇开始整理一些 Web 前端知识,介绍了 React、Vue、React Native 这几个概念,还附带了一些代码片段,实际学习之前可以给大家带来一个初体验。
+
+资料内容收录了一个 Github 仓库 [Newbie Security List](https://github.com/findneo/Newbie-Security-List),其中整理了网络安全相关的博客、工具、电子书籍资料、在线知识库、在线漏洞库等内容。
+
+[@摸鱼周报 #15](https://mp.weixin.qq.com/s/6thW_YKforUy_EMkX0OVxA):本期介绍了几个去掉导航栏返回按钮文案的实现方案;还有个系统自带的命令行工具 `plutil`,通常我们将其用于打包脚本设置版本号,但它还可以用来检查多语言文件的格式问题。处理繁杂且巨大的多语言文件,自动化工具永远是最佳助手。
+
+概念篇 Web 前端知识第二弹:BootStrap、Webpack、Flutter。
+
+博客篇整理了一些逆向和签名相关文章,虽然不是新文章,但篇篇都是精品,值得反复阅读。
+
+资料内容收录了一个国外的网站:[SwiftLee](https://www.avanderlee.com/),一个分享关于 Swift、iOS 和 Xcode 技巧和窍门的周更博客,博客的文章写得清晰易懂,排版、配图和动画质量也很高。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#164-2021.06.28.md b/Reports/2021/#164-2021.06.28.md
new file mode 100644
index 000000000..4fd8e573e
--- /dev/null
+++ b/Reports/2021/#164-2021.06.28.md
@@ -0,0 +1,110 @@
+# 老司机 iOS 周报 #164 | 2021-06-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC 21
+
+[@Parisfal](https://github.com/ParsifalC):WWDC 21 圆满结束,但关于 WWDC 21 的学习才真正开始~苹果官方汇总了[新技术和已有框架的重点变化](https://developer.apple.com/documentation/New-Technologies-WWDC-2021),本周我们针对部分内容更新了 2 篇 WWDC 21 Session 的深度解读,每篇文章都是经过不断推敲和审核才完成。
+
+### [【WWDC21 10022】SwiftUI 技术内幕](https://xiaozhuanlan.com/topic/0619782354)
+
+[@MetaSky](https://github.com/CreatorMetaSky):通过阅读本文,带你一起深入解读 SwiftUI,提高应用程序的性能。
+
+### [【WWDC21 10267/10268/10269】窥探 Xcode Cloud](https://xiaozhuanlan.com/topic/7496513820)
+
+[@林永坚](https://github.com/JakeLin):CI 已经成为项目开发中必不可少的一个工程环节,同时也是推动团队工程师文化的重要手段。在 WWDC 21, 苹果公司发布了官方的 CI - Xcode Cloud。通过这篇文章,我们一起窥探一下 Xcode Cloud 到底能做什么,以及我们该如何使用它?
+
+## 新闻
+
+### [苹果 Apple Watch 国行获国家药品监督管理局医疗器械审批!ECG 移动心电图房颤提示软件过审](https://mp.weixin.qq.com/s/NNHRz-43YCZGo4M54uA6-g)
+
+[@Parisfal](https://github.com/ParsifalC):终于!大陆也将支持 ECG 功能了!喜大普奔!政策上已经支持,现在就看苹果什么时候开放了。
+
+## 文章
+
+### 🌟 🐕 [美团民宿跨端复用框架设计与实践](https://mp.weixin.qq.com/s/902BiSBx88rUSWBX64HZqA)
+
+[@JonyFang](https://github.com/JonyFang):从业务角度出发,跨端技术演进更多是在不同阶段、不同时间段内业务效率上的选择,美团民宿业务在大前端融合的浪潮中也在不断探索和迭代抉择,为解决业务痛点而产出跨端框架技术。本文主要分享美团民宿在跨端复用技术探索层面以及业务实践过程中积累的经验。文章目录如下:
+1. 背景
+ - 美团民宿业务介绍
+ - 美团民宿移动端现状
+2. 美团民宿跨端复用框架设计
+ - 行业现状
+ - 整体方案设计
+3. 美团民宿跨端复用实践
+ - 跨端复用场景下的问题
+ - 跨端复用应用架构
+ - 跨端复用方式设计
+ - 跨端复用流程规范
+ - 跨端复用质量保障
+ - 成果
+
+### 🌟 🐢 [Swift 编译器 Crash—Segmentation fault 解决方案](https://mp.weixin.qq.com/s/FSlJKnC0y51nsLDp1B3tXg)
+
+[@zvving](https://github.com/zvving):Swift 在国内普及缓慢,自身工具链不完善是重要制约因素之一:比如不少混编项目都碰到过偶现的 `Segmentation fault: 11` 和 `Illegal instruction: 4` 编译错误,开发者对这类编译器错误大多束手无策,只能寄望于『重试一下』以及 Xcode 后续更新解决。
+
+抖音基础技术团队深入编译链路定位问题:从编译基础概念,到提取编译参数、调试 SIL 异常定位问题,进而引入静态检查规避。内容表达上层层递进,对编译器产生的 Crash 如何调试解决提供了思路,为『面向编译器编程』提供难得一见的参考!
+
+### 🌟 🐢 [抖音研发效能建设 - CocoaPods 优化实践](https://mp.weixin.qq.com/s/Pt6pcxKCHhdnnWPYrToNvA)
+
+[@红纸](https://github.com/nianran):Cocoapods 是 iOS 常用的包管理工具之一,当我们工程日渐庞大,在成百上千个组件之后,pod install 的执行效率有明显的降低。本文是抖音在实践中对于 Cocoapods 的原理分析和数点优化总结。
+
+这边不占用篇幅,简单描述其中几点优化,详细优化方案可以查看原文进行阅读:
+1. 性能评估:利用 Ruby-perf 方法级别统计系统耗时,为量化数据指标奠定基础
+2. Source 源按需更新:解决研发同学忘记更新 source 源的烦恼
+3. 简化决议:研发流程直接使用 Podfile.lock 进行线性决议,Molinillo 的图决议占少数比例
+4. 并发下载:并发下载依赖,使用 HTTP 代替 Git 访问
+5. 沙盒软连接:使用软链接代替拷贝,减少磁盘消耗
+
+### 🐕 [Tagged Pointer对象安全气垫为何会失效](https://juejin.cn/post/6975765788355461133#heading-9)
+[@Smallfly](https://github.com/iostalks):Objective-C 作为一门动态语言,在运行时做安全防护非常有必要。本文记录了作者加了安全防护后,依然发生了 `Unrecognized Selector` 类型崩溃的定位过程。为什么 Tagged Pointer 类型的对象,安全防护失效了?作者从原理出发,通过分析 Tagged Pointer 在不同系统的内存结构,最终修复了这个问题。推荐对 Tagged Pointer 实现原理感兴趣的同学阅读。
+
+### 🐕 [Swift Hook新思路--虚函数表](https://mp.weixin.qq.com/s/mjwOVdPZUlEMgLUNdT6o9g)
+
+[@四娘](https://kemchenj.github.io):这是由 58 团队带来的文章,深入分析 Swift 的类结构以及基于 vtable 的函数调用过程,并且提出了通过修改 vtable 实现 method swizzle 的方法。
+
+### 🐎 [SSWG Annual Update 2020](https://forums.swift.org/t/sswg-annual-update-2020/49223)
+
+[@xiaofei86](https://github.com/xiaofei86):自从上次 Swift 服务端工作组(SSWG: Swift server work group)进行重大更新以来,发生了很多事情。本文对 SSWG 过去一年的工作成果进行回顾,包括 gRPC、MongoDB、AWS Lambda 的引入;对明年的目标进行展望,包括 Concurrency 的接入、文档和工具的改进,以便对非苹果平台的开发提供更好的支持。感兴趣的同学可以持续关注。
+
+## 代码
+
+### [Surge](https://github.com/Jounce/Surge)
+
+[@老峰](https://github.com/gesantung):[Accelerate](https://developer.apple.com/documentation/accelerate) 框架为 iOS 提供了大规模的数学和图像高性能计算能力, 但其 API 却不易使用, Surge 正是这样一个 Swift 库,它使用 Accelerate 框架为矩阵数学、数字信号处理和图像处理提供简单易用的高性能 API,如常用的 + ,- , * ,/ ,有需求的同学可以了解一下。
+
+## 音视频
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#165-2021.07.05.md b/Reports/2021/#165-2021.07.05.md
new file mode 100644
index 000000000..4fb1bb3cb
--- /dev/null
+++ b/Reports/2021/#165-2021.07.05.md
@@ -0,0 +1,146 @@
+# 老司机 iOS 周报 #165 | 2021-07-05
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC 21
+
+### 🌟 线下沙龙:杭州场圆满结束!上海场迎来第二波免费门票开放~
+
+[@Parisfal](https://github.com/ParsifalC):WWDC 系列活动 - 淘系技术.T 沙龙杭州专场在上周六下午已经圆满结束了!杭州专场同样邀请到了 4 位国内讲师以及 2 位特邀国外讲师。他们分别是来自手淘终端平台技术的无线开发专家**倾寒**、来自有赞的移动技术负责人 **Jackie**、来自抖音创作工具基础架构团队的移动端架构师 **Crespo** 以及来自西瓜视频的移动端工程师**黄骋志**,国外的特邀嘉宾还是我们熟悉的 Hacking With Swift 系列书籍作者 **Paul Hudson** 和 objc 联合创始人 **Chris Eidhof**。沙龙现场近 160 位开发者朋友相聚一堂,技术探讨氛围十分浓烈。
+
+错过杭州场的朋友不用着急,**上海场我们也将在这周六正式举办**!上海场之前在我们 **WWDC.playground by SwiftGG** 直播活动中开放了第一批超过 100 张门票,很快就售罄了,现在**第二波门票也正式开放**,数量有限,想来现场的朋友抓紧扫码报名~
+
+### 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parisfal](https://github.com/ParsifalC):除了线下沙龙在火热进行,我们内参的更新也如火如荼。已经订阅的读者有福啦,本周我们一次性更新了 29 篇 session 的解读,每篇文章都是经过不断推敲和审核才完成。感谢所有作者和审核人员。
+
+- @Style月月:【WWDC21 10032】探索 WKWebView 新增功能
+- @琦乐无穷的小蘑菇:【WWDC21 10089】探索电子病历在 HealthKit 中的使用
+- @Leppard:【WWDC21 10145】Advanced Video Quality Tool 使用指北
+- @Rec:【WWDC21 10256】初探 Swift 算法和集合 & 【WWDC 10168】开发 Mail App 扩展
+- @Watermelon:【WWDC21 10268/10269】探索 Xcode Cloud Workflows
+- @Ronbin:【WWDC21 10298】在 HomeKit 中添加对 Matter 协议的支持
+- @阿尘:【WWDC21 10039】Create ML 新妙用:手势分类和手部动作分类 &【WWDC21 10040】使用 Vision 框架来检测人物、人脸和姿势
+- @atuo:【WWDC21 10057】让你的 iPad 应用更进一步
+- @ljcoder:【WWDC21 10118】CloudKit 自动化开发
+- @Ckitakishi:【WWDC21 10121】为内容丰富的应用量身打造高效 VoiceOver 体验
+- @Frank:【WWDC21 10212】强大的 Network Instruments,诊断你的 APP 网络请求及流量控管
+- @希徳:【WWDC21 10264】让你的 App 支持快速备忘录
+- @Damien:【WWDC21 10061】Meet TextKit 2
+- @Tamarous:【WWDC21 10063】更好用的 Sheet
+- @鸭嘴兽:【WWDC21 10085】聚焦苹果隐私原则
+- @刘杰:【WWDC 2021 10096】 苹果为了你的隐私又做了什么
+- @happts:【WWDC21 10098】在 Spotlight 中呈现 App 的数据
+- @志远:【WWDC21 10115】依托更完善的 App 分析指标,优化 App 展示页面的新方案
+- @DengXiaoBai:【WWDC21 10158】使用 VideoToolbox 探索低延时视频编码
+- @旷明:【WWDC21 10166/10167/10235/10236】DocC: 未曾设想的苹果文档
+- @张凡:【WWDC21 10203】Xcode Organizer 功能升级
+- @Semyon:【WWDC21 10204/10261/10170】云签与 Mac App 分发流程简化探索
+- @PerTerbin:【WWDC21 10209】通过断点技巧让调试更高效
+- @jojotov:【WWDC21 10254】Swift 并发编程:原理探究
+- @小铁匠Linus:【WWDC21 10259】键盘布局指南
+- @Uyloal:【WWDC21 10023/10260】构建使用键盘导航的应用程序
+- @瓮杰:【WWDC21 10265】将你的应用沉浸在空间音频中
+
+## 文章
+
+### 🌟 🐕 [在 iOS 客户端上通过 bitcode 为第三方库修复 bug](https://mp.weixin.qq.com/s/BuDnfl1ZbUtiZBhy8_Z7wA)
+
+[@JonyFang](https://github.com/JonyFang):本文主要记录了便利蜂技术团队 iOS 移动端遇到的一个疑难 bug 的排查过程,介绍了他们是如何通过修改 bitcode,成功在没有源码的情况下为有问题的三方库修复 bug 的。
+
+文中用到的知识点总结如下:
+1. 崩溃现场中,在主线程发现 `exit`,多半是由于 C++ 全局变量析构 + 多线程导致的;
+2. 在有源码的情况下,可以通过调整编译参数消除全局变量析构;
+3. 使用 7-zip 可以无损解包静态库文件;
+4. 使用 otool 可以看到目标文件是否嵌入了 bitcode;
+5. 使用 llvm 提供的工具,可以对 bitcode 进行修改、重新生成机器码;
+6. 通过私有 API 可以模拟出应用退出,制造复现场景。
+
+### 🌟 🐕 [iOS Pod 构建缓存方案](https://mp.weixin.qq.com/s/zWhgpuhq3r799ZYQPMsdFw)
+
+[@红纸](https://github.com/nianran):编译加速通常有两种方案二进制化和源码编译缓存,相较于二进制化,源码编译能解决二进制化带来的问题:编译宏问题、函数不存在等一系列问题。文中,作者使用基于 MD5 和 Xcode Cache 来做缓存机制,使得每次编译都是增量编译而不是全量编译。感兴趣的同学可以看下作者的方案描述。
+
+此外本文是基于 Xcode Cache 实现的编译缓存机制,在即将到来的《老司机技术沙龙-上海场》中,第二场来自 Bilibili 的同学会介绍基于 Bazel 的远端编译缓存技术实践,也欢迎大家来现场聆听~
+
+> 自荐: [WeijunDeng](https://github.com/WeijunDeng)
+
+### 🐢 [深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析](https://mp.weixin.qq.com/s/VdkVBIQwj7WkAk8-5wppmQ)
+
+[@享耳先森](https://github.com/iblacksun):移动互联网时代,网页依旧是内容展示的重要媒介,开发者经常需要与 `WKWebView` 打交道,但当遇到疑难问题时官方文档不足以解惑。本系列文章介绍了如果从 WebKit 源码入手,建立可调试工程,基于此深入理解 WebKit 核心内容。
+
+### 🐢 [Swift 并发初步](https://onevcat.com/2021/07/swift-concurrency/)
+
+[@zvving](https://github.com/zvving):今年 Swift 的最大更新无疑是对 `async/await` 的支持,作为新手的你很可能已经跃跃欲试。但并发编程向来以错综复杂著称,光是并发/并行、同步/异步、串行/并行就已经让人傻傻分不清,更不必提 `Actor`、`Structured Concurrency`、`Async Sequence` 这些翻译起来都困难的概念。如果你也有以上这些疑惑,或许可以从本文中找到答案。这篇图文并茂的博客同时也是喵神新书[《Swift 异步和并发》](https://objccn.io/products/async-swift)的开篇之作。
+
+> 本文推荐语来自 [弥明-KeithBird](https://github.com/KeithBird)
+
+### 🐎 [How Swift runs an async executable](https://oleb.net/2021/async-program-launch-sequence/)
+
+[@kemchenj](https://kemchenj.github.io):Swift 5.5 最大的更新就是加入了 Concurrency,@main 也添加了对应的支持,让我们可以将 main 函数标记为 async,由编译器负责生成代码,提供一个 async context 让 async main 函数执行,这篇文章就深入了 Swift 源码来探究其中的奥秘。
+
+## 摸鱼周报
+
+[@摸鱼周报 #16](https://mp.weixin.qq.com/s/nuij8iKsARAF2rLwkVtA8w):iOS 摸鱼周报不知不觉已经发布到第 16 期了,为了了解大家对周报的想法和建议,前段时间我们做了一次问卷调查。根据问卷反馈,我们停更一期进行了格式上的调整:去掉了`那些 Bug`、`编程概念`模块,增加了`本期话题`和`面试解析`。
+
+改版之后内容更讲究实用性,特别是呼声很高的`面试解析`模块,我们对众多面试题目进行筛选,选出一些高频且实用的内容,然后用更通俗易懂的话讲明白其中的知识点,首期`面试解析`带来的是网络相关的一些题目。
+
+其他更多内容欢迎阅读本期[完整版](https://mp.weixin.qq.com/s/nuij8iKsARAF2rLwkVtA8w)进行探索,如果有其他建议也欢迎后台留言告诉我们。
+
+## 代码
+
+### [世界上第一个浏览器源码](https://github.com/cynthia/WorldWideWeb)
+
+[@折腾范儿_唯敬](https://www.weibo.com/agvicking/home?wvr=5):这个 repo 其实算得上是一个考古 repo 。维基百科上记载,世界上第一个浏览器是在 NextStep 的电脑上(repo 的 readme 上有索引),用 C 和 Objective-C 语言完成的,被 repo 作者从原始 WorldWideWeb 的仓库中剥离,保存于此。虽然这个项目中的代码过于老旧,已经无法编译,但有兴趣的人还是可以前往一探究竟,看看上古时代的浏览器代码大概是什么样子。
+
+### [VideoLab - 高性能且灵活的 iOS 视频剪辑与特效框架](https://mp.weixin.qq.com/s/duLk1mNLdcqRlfzpnh2LEA)
+
+[@anotheren](https://github.com/anotheren):这是一个为视频剪辑编辑处理的框架,使用了 AVFoundation 和 Metal 作为其处理核心,目前已有以下特性:
+* 高性能实时剪辑与导出
+* 高自由度组合视频,图片,音频
+* 支持音频音高设置,音量调节
+* 支持 CALayer 矢量动画,可以支持复杂的文字动画
+* 支持关键帧动画
+* 支持类似于 AE 的预合成
+* 支持转场
+* 支持自定义各类特效,如 LUT 滤镜,Zoom Blur 等等(MSL 编写脚本)
+
+如果你也有视频处理的相关需求,不妨看看能否满足项目需要。
+
+## 音视频
+
+### 🐢 [“Structured concurrency” with special guest Doug Gregor](https://www.swiftbysundell.com/podcast/99/)
+
+[@老驴](https://www.weibo.com/6090610445):这期 Swift By Sundell 节目请到了 Swift 开发组的成员之一 Doug Gregor 来聊聊 Swift Concurrency 和背后的故事。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#166-2021.07.12.md b/Reports/2021/#166-2021.07.12.md
new file mode 100644
index 000000000..bef732ddc
--- /dev/null
+++ b/Reports/2021/#166-2021.07.12.md
@@ -0,0 +1,181 @@
+# 老司机 iOS 周报 #166 | 2021-07-12
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑阵容继续升级,本周我们迎来了 [@Barney](https://github.com/BarnyZhao) 加入团队,Barney 目前就职于 Bilibili,熟悉移动架构治理,启动优化,复杂列表流畅度优化,稳定性等方向。**
+
+## WWDC 21
+
+### 🌟 线下沙龙:上海场和深圳场也成功举办~
+
+[@Parisfal](https://github.com/ParsifalC):WWDC 系列活动 - WWDC.T 沙龙上海场和深圳场已经在这个周末圆满结束了,感谢上海场的联合主办方字节音乐以及深圳场的联合主办货拉拉技术团队!至此,今年我们与 SwiftGG 一起举办的四场沙龙活动均已拉上帷幕,每场活动都有 4 个不同的讲师分享自己对于移动技术开发的干货见解,在社区内外都引发了很大的反响。针对大家比较关注的几个问题,我们这边做下统一回复:
+
+> 活动的录像和 PPT 等内容是否会放出?
+
+活动刚结束,我们所有的收尾工作都在有序进行中,计划在本月下旬会陆续将沙龙的相关资料在**老司机技术周报**公众号上发布,大家敬请期待~
+
+> 以后还会不会有类似的活动?
+
+线下沙龙是今年尝试的一种方式,目前得到很多正反馈,我们也从几个城市的举办中汲取了很多经验,未来如果可行的话我们还是会继续尝试的。这次得到 SwiftGG、快手、淘系技术、字节音乐和货拉拉技术等团队的支持,我们也为到场的每一位朋友都准备了精美的礼品和茶歇,同时每个讲师嘉宾的无偿倾力相助也让我们非常感激。但毕竟我们是纯公益的活动,每场沙龙都是免费门票,沙龙投入的人力物力仍然是比较大的。短期内暂时没有在计划中的沙龙活动了,我们需要好好总结,也需要休息一下。当然,一旦有了新的计划,我们也会第一时间告诉大家,感谢大家一直以来的支持。
+
+> 我所在的技术团队也想合作举办一场这样的沙龙活动?
+
+首先感谢你的关注与认可,不过正如上个问题所述的那样,我们短期是没有计划了。如果你确实感兴趣的话,可以添加我们的周报微信 **iTDriverr** 做个简单沟通,后续我们有计划了可以再详谈。
+
+### 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parisfal](https://github.com/ParsifalC):线下活动圆满结束,我们内参的更新也已经进入高潮。已经订阅的读者有福啦,本周我们一次性更新了 32 篇 session 的解读,总的更新文章数已达 69 篇!每篇文章都是经过不断推敲和审核才完成。感谢所有作者和审核人员。如果你喜欢的话,记得给作者点个赞~
+
+- [【WWDC21 10183/10184】初探 Group Activities ](https://xiaozhuanlan.com/topic/0593748621)
+- [【WWDC21 10225】使用 Group Activity 共享媒体](https://xiaozhuanlan.com/topic/2560189374)
+- [【WWDC21 10187】使用 Group Activity 共享定制化内容](https://xiaozhuanlan.com/topic/6205739184)
+- [【WWDC21 10189】使用 Group Activity 在 Safari 中共享媒体](https://xiaozhuanlan.com/topic/7165042893)
+
+@Darwin-lv & @刘思源:刚刚结束的 WWDC 2021,苹果给 Facetime 带来了新功能 SharePlay。使用苹果设备的用户,无论是 iOS、iPadOS 还是 MacOS,都可以通过 FaceTime 开启 SharePlay,和其他苹果用户,无论他使用什么类型的苹果设备,都可以实时的共享内容。
+
+- [【WWDC21 10132/10133/10134】认识 Swift 中的异步与并发](https://xiaozhuanlan.com/topic/8627905413)
+
+@nuomi1:Swift 5.5 带来了万众期待的异步与并发的原生语言级支持,async/await 简化了异步编程,结构化并发为异步任务提供并发性,而 actor 则解决了共享可变状态带来的数据一致性问题。
+
+- [【WWDC21 10258】理解和消除 App 中的卡死](https://xiaozhuanlan.com/topic/9027453618)
+- [【WWDC21 10211】iOS 符号化:基础与进阶](https://xiaozhuanlan.com/topic/8652104379)
+- [【WWC21 10216】Swift 中的 ARC 机制: 从基础到进阶](https://xiaozhuanlan.com/topic/1569740283)
+- [【WWDC21 10180】检测和诊断 App 内存问题](https://xiaozhuanlan.com/topic/2079653148)
+
+@Rickey 王小吉 & @米广 & @刘夏 & @薛云强:WWDC 2021 继续在 App 性能上带来了很多 session,这几篇文章能够帮你深度理解性能问题的源头。
+
+受限于周报篇幅,其他文章也同样精彩,但不便详述,欢迎大家自行订阅阅读~
+
+- @saitjr:【WWDC21 10232/10283】Shortcuts 的新功能
+- @lmh:【WWDC21 10239】为你的 App 减少网络延迟
+- @牟爽:【WWDC21 10146】AVFoundation 的新变化 & 【WWDC21 10290】AVKit 的新变化
+- @展菲:【WWDC21 10092】了解并使用 Wallet 和 Apple Pay
+- @师大小海腾:【WWDC21 10052】Mac Catalyst 的新功能
+- @Jimbaby:【WWDC21 10079】使用 PHASE 探索几何感知的音频
+- @大灰灰:【WWDC21 10048】构建优雅小组件的准则
+- @Kam:【WWDC21 10252】打造拥有流畅体验的列表和集合视图
+- @DylanYang:【WWDC21 10291/10294/10295】MusicKit 概述
+- @Hummer:【WWDC21 10033】基于隐私保护的广告归因
+- @East:【WWDC21 10041】使用 Vision 提取文档里的数据
+- @郑一一:【WWDC21 10102】遇见 Location Button
+- @刘杰:【WWDC21 10123】初见 Screen Time API
+- @kukushi:【WWDC21 10045】用 ShazamKit 创造自定义音频体验
+- @Chars:【WWDC21 10003】再谈 Apple Watch 的数据传输
+- @素燕(Lefex):【WWDC21 10104】在 iOS 中给 Safari 开发插件
+- @Chafferer:【WWDC21 10205】在 Xcode 中 Review Code 以及多人合作
+- @夏天:【WWDC21 10068/10069/10282】从 0 开始构建用户健康的研究和护理 APP
+- @Nemo:【WWDC21 10160】ProRAW 的拍摄与处理
+- @wiilen:【WWDC21 10181】APP 性能优化终极求生指南
+- @SeaHub:【WWDC21 10175】IAP 用户退款与客诉处理优化 & 【WWDC21 10174】 IAP 后台通信优化与实践
+
+## 文章
+
+### 🌟 🐕 [Klee:用 C++ 实现数据驱动开发](https://mp.weixin.qq.com/s/y2700SOPIvETJ-x2BC5q5w)
+
+[@Barney](https://github.com/BarnyZhao):本文主要介绍了企业微信客户端团队对 C++ 实现数据驱动开发的探索,为读者介绍了暂时内部开源的 Klee 框架,,通过几个简单易懂的小例子,一步步讲述了 Klee 的强大特性, 并且未来有开源的打算,十分令人期待。
+
+文中的关键点总结如下:
+1. 数据驱动的核心思想,程序的状态由数据确定,通过接口操作数据来控制程序逻辑。
+2. 通过企业微信消息泡的例子,表达了 响应式数据的优雅。
+3. `Klee` 的声明式开发能力,组件化开发,混合开发。
+4. `Klee` 三大组件生态, 布局组件、视图组件、逻辑组件,并且可组合嵌套为复合组件。
+5. `Klee` 与 `RxSwift` 的对比,从数据源、流程可控性、多输入源、生命周期管理四个维度阐述了 Klee 的优势。
+6. 对未来的展望,代码开源、跨平台能力、可视化界面搭建。
+
+### 🐕 [听说你想写个 Lisp 解释器(下篇)](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486230&idx=1&sn=b11b86685064968edd023851c47a981a&chksm=cf5584def8220dc83ff16b3c2216f555d481735b51c2687c433243953b1515b4cf1a7ab1c806&token=232571047&lang=zh_CN#rd)
+
+[@折腾范儿_唯敬](https://weibo.com/agvicking):在之前的周报中,我们介绍了“听说你想写个 Lisp 解释器(上篇)”,作者[silan-liu](https://github.com/silan-liu) 带着我们从0深入到了一个语言编译解析的过程,学习了从分词到解析,再到生成 AST 的过程。这次给大家带来了下篇,本文作者继续从 AST 入手,分析运算符,分析表达式,分析方法调用,最终给我们讲解了一个语法树最终执行出结果的全部过程。自此一个语言的完整编译过程,简单明了的呈现在了读者面前。
+
+### 🐎 [淘系工程师亲述经历:如何避免成为“技术工具人”?](https://mp.weixin.qq.com/s/qBgEjtcTTVuZsAK6j0SEMw)
+
+[@Smallfly](https://github.com/iostalks):本文从不同角度讲述了作者加入阿里一年收获的成长。
+
+- **关于思考:** 按照主管分配机制做事,只会让自己成为工具人,要思考如何「让事情因为自己而与众不同」。
+- **技术与业务两条腿走路:** 身为技术同学,很容易陷入技术自嗨,却没有多大贡献。建议用技术去赋能业务,让技术和业务相互成就彼此,共同成长。
+- **稳定发挥:** 稳定发挥、线性成长的选手比波峰波谷选手更受青睐。
+- **求同尊异:** 在团队引入一种新的机制,不被认可,应该如何思考与推进。
+- **身为 PM 如何做事:** 项目安全永远是第一位,有风险要及时同步;遇到线上问题立即向上反馈,并注意反馈的方式;让合适的人做合适的事情;如果不确定一件事情能否按时完成,就给悲观的答复;技术判断是核心竞争力。
+
+### 🐎 [Swift5.5、DocC、Notifications,苹果 WWDC21 带来的最大技术变化](https://mp.weixin.qq.com/s/jw0R-83z9oCnVoffwy-ykg)
+
+[@Damien](https://github.com/ZengyiMa):苹果在 WWDC21 中给我们带来了许多的新的技术和解决方案,让我们来看看今年 Swift 的 async/await 特性、DocC(文档编译器)、以及系统中的 Notifications 通知中的的一些详细变化的内容吧。
+
+### 🐕 [How iOS 15 makes your app launch faster](https://medium.com/geekculture/how-ios-15-makes-your-app-launch-faster-51cf0aa6c520)
+
+[@Leo](https://github.com/leomobiledeveloper):对于 deployment target 是 iOS 15 或者 macOS 12 的应用来说,苹果采用了一种新的格式来存储启动时候需要 fixup 的信息。目前像 bind/rebase 这种 fixup 信息是存储在二进制不同的表中的,修改后使用 chained fixups 格式,这种格式能带来包体积和启动时间的提升。
+
+### 🐢 [深入理解 WKWebView(基础篇)—— WKWebView 加载生命周期与代理方法剖析](https://mp.weixin.qq.com/s/ZFui9IiMTWyLXGKZlbnzwQ)
+
+[@享耳先森](https://github.com/iblacksun):本篇是系列第二篇,第一篇见 [深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析](https://mp.weixin.qq.com/s/VdkVBIQwj7WkAk8-5wppmQ),本篇在上一篇的基础上介绍了 `WebKit` 内部的三个进程是如何协作及通信的。
+
+### 🐕 [Diffable data source behavior changes and reconfiguring cells in iOS 15](https://www.jessesquires.com/blog/2021/07/08/diffable-data-source-behavior-changes-and-reconfiguring-cells-in-ios-15/)
+
+[@老峰](https://github.com/gesantung):从 iOS 13 开始 Apple 为 TableView&CollectionView 引入 Diffable Data Source 特性实现局部刷新,iOS 15 提供了新 API 带来了更流畅的滚动体验,主要包含如下内容:
+
+- applySnapshotUsingReloadData(_:completion:):提供简洁的 API 处理非动画 diff reload
+- reconfigureItems(_:):提供更高效的 cell 刷新,避免 dequeuing
+
+另外 [【WWDC21 10252】打造拥有流畅体验的列表和集合视图](https://xiaozhuanlan.com/topic/6813072594) 也有相关阅读,感兴趣对的读者建议阅读。
+
+## 摸鱼周报
+
+[@摸鱼周报 #17](https://mp.weixin.qq.com/s/3vukUOskJzoPyES2R7rJNg):第十七期摸鱼周报来了~这期概要如下:
+
+本期话题从一个同学的问题入手,谈了些关于习惯的理解。
+
+Tips 部分围绕一个问题展开:“String.count 和 NSString.length 结果是一样的吗?他们之间有什么差别?”。
+
+面试专题带来网络部分的第二弹,关于 TCP 连接,关于三次握手,四次挥手。
+
+博客部分整理了一些网络优化的文章,网络请求分为:请求前阶段,连接阶段,数据处理阶段,各个阶段都是可以进行优化的。
+
+如何用 Swift 实现常用的数据结构?来看 Swift Algorithm Club 吧。
+
+两个实用工具推荐,桌面版 Homebrew:Cakebrew,一个好用的剪切板工具:Paste - Clipboard Manager。
+
+## 工具
+
+### [GitHub Copilot](https://copilot.github.com/)
+
+GitHub Copilot 是一个可以与你结对编程的 AI 程序员,它可以帮助你以更少的工作量更快地编写代码。它能够从注释和代码中提取上下文,并实时补完单个行或整个函数代码。GitHub Copilot 技术预览版目前以 Visual Studio Code 插件的方式提供,你需要在官网申请加入测试等待名单之后才有机会体验使用。虽然 AI 自动生成代码的话题经久不衰,各种工具也层出不穷,但 GitHub Copilot 的出现可能是距离该类工具真正落地使用最近的一次,感兴趣的朋友快点击官网申请试用吧。
+
+* 推荐人:[Zero.D.Saber](https://github.com/faimin)
+
+## 代码
+
+### [Pulse](https://github.com/kean/Pulse)
+
+[@AidenRao](https://weibo.com/AidenRao):Pulse 是适用于 Apple 平台的强大日志记录系统,基于 SwiftUI 构建。使用 Pulse Console 直接从你的 iOS 应用程序中检查网络请求和日志,并通过 PulseUI 展示出来。你的 QA 团队在问题反馈时可以轻松共享它们,附带在错误报告中。你可以在 Pulse macOS 应用程序中查看共享日志。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#167-2021.07.19.md b/Reports/2021/#167-2021.07.19.md
new file mode 100644
index 000000000..620662158
--- /dev/null
+++ b/Reports/2021/#167-2021.07.19.md
@@ -0,0 +1,128 @@
+# 老司机 iOS 周报 #167 | 2021-07-19
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新手推荐
+
+### 🌟 🐢 [Develop Apps for iOS](https://developer.apple.com/tutorials/app-dev-training/)
+
+[@EyreFree](https://github.com/EyreFree):苹果官方 iOS 开发教程终于来了,原来苹果没有忘记!此教程预计需阅读 12 小时左右,介绍 Xcode 的基础用法以及如何利用 SwiftUI 和 UIKit 两个框架来开发 iOS 原生 App,渐进式的代码演示,通俗易懂,非常适合初学者。
+
+* 推荐人:[Keith](https://twitter.com/KeithBirdKTH)
+
+### 🐕 [使用 Swift 提高代码质量](https://juejin.cn/post/6984768684250120222)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):文章首先简单介绍了 Swift 的类型安全等特性,接着列举了一些容易忽略却较为有效的代码实践以及性能优化方案,例如 `` 减少方法动态派发 ``、`` 避免随意给予可选值默认值 ``、``protocol 添加 AnyObject`` 等等。如果团队计划投入 Swift,不失为一份大家可以参考的编码规范的最佳实践。
+
+## WWDC 21 内参本周更新
+
+### [【WWDC21 10030】高级 Web 内容开发](https://xiaozhuanlan.com/topic/5637428091)
+
+[@LittleSmart](https://github.com/LittleSmart): Web 应用作为互联网内容的重要组成部分,近些年随着 Web2.0 概念的蓬勃发展和包括 WebAssembly、WebGL2.0 等技术的演进,Web 应用在很多场景下已经具备和原生相媲美的性能,Apple 在过去的一年中为 Web应用带来了哪些改进,Safari 和 Webkit 又新添了一些怎样有趣又好玩的功能呢,让我们跟随 WWDC21 一起来探索一下吧~
+
+### [【WWDC21 10053】优秀 Mac Catalyst App 的品质](https://xiaozhuanlan.com/topic/9324781605)
+
+[@OneeMe](https://github.com/OneeMe): Catalyst 这项技术是苹果于 2019 年的 WWDC 上推出的新技术,其目的在于让开发者能够很快的将一个 iPad App 转换成一个能够跑在 Mac 上的 App。三年来的积累也给这项技术带来了足够丰富的特性。那么,面对 Catalyst 中丰富的各种能力,如何才能让我们所创建的 App 在 Catalyst 下有更好的体验呢?让我们来逐一看看苹果工程师给我们的建议吧!
+
+### [【WWDC21 10122】图表的无障碍支持进阶](https://xiaozhuanlan.com/topic/7904561328)
+
+[@Ckitakishi](https://github.com/Ckitakishi): 今年,Apple 带来了全新的音频图表(Audio Graphs),以此为契机,本文将围绕图表无障碍化的基础知识,现状和新特性展开讨论,旨在为正在探索图表无障碍访问的你点亮一盏明灯。
+
+### [【WWDC21 10276】使用相机进行键盘输入](https://xiaozhuanlan.com/topic/0281395647)
+
+[@LinusLing](https://github.com/LinusLing): 我们在日常生活中使用 iOS 应用程序时,常常对那些非数字文本的输入感到很头疼,比如发票,活动传单,还有酒店房间的大活页等。幸运的是,iOS 15 出了一个新功能,可以让你使用相机从周围的世界直接捕获文本,不再需要自己在键盘打字输入了。本文将探讨使用相机进行键盘输入的内容过滤方式以及原理,从而帮助开发者开发相应场景的功能,从而让用户在使用应用程序时获得更流畅、更愉快的体验。
+
+## 播客
+
+### [WWDC21 瞎谈:Swift 支棱起来了吗?](https://www.xiaoyuzhoufm.com/episode/60ef7aababf61dc037c4a96a)
+
+[@没故事的卓同学](https://github.com/lacklock):我们终于录上了一期技术播客,本期播客中我、四娘、老驴三人谈了谈对 Xcode cloud 的看法,也谈了 Swift 的异步和并发的新特性。欢迎大家收听、评论、订阅。本期节目在苹果播客、网易云音乐、QQ 音乐、汽水儿、喜马拉雅中也有上线。
+
+## 文章
+
+### 🌟 🐕 [西瓜客户端埋点实践:基于责任链的埋点框架](https://mp.weixin.qq.com/s/iMn--4FNugtH26G90N1MaQ)
+
+[@Barney](https://github.com/BarnyZhao):本文深入浅出,从一个基本的收藏点击埋点切入,对比分析了常见的透传埋点,全埋点的优劣,最后引出基于责任链的埋点介绍。
+
+文中的关键信息总结如下:
+1. 埋点的背景介绍,经典消费场景分析。
+2. 以收藏场景为例,通过伪代码分析对比透传和全埋点的优劣。
+3. 基于责任链的埋点框架介绍
+ - 优点:侵入性小、关注点分离
+ - 缺点:理解成本、无强制约束
+
+### 🐎 [Experience of using VSCode as a Swift IDE](https://forums.swift.org/t/experience-of-using-vscode-as-a-swift-ide/50271)
+
+[@Keith](https://github.com/KeithBird):上周我们介绍了码农批量下岗项目 Copilot,该项目还在测试阶段就已经让无数程序员大呼 woc。解放全 GitHub 的项目自然少不了 Swift 代码的投喂,虽然 Copilot 目前只可在宇宙 IDE - VS Code 中使用,但支持多平台一直是 Swift 服务端团队 [SSWG](https://swift.org/sswg/) 的目标之一。[Experience of using VSCode as a Swift IDE](https://forums.swift.org/t/experience-of-using-vscode-as-a-swift-ide/50271) 一文介绍了目前在 VS Code 写 Swift 的优缺点和对未来的展望。至于如何进行部署,可以参考官方的 [IDEs/Editors with Swift Support](https://github.com/swift-server/guides/blob/main/docs/setup-and-ide-alternatives.md),和非官方但更加通俗详细的 [iOS Development on VSCode](https://medium.com/swlh/ios-development-on-vscode-27be37293fe1)。值得一提的是,尽管目前 Copilot 只对 Python、JS、Go、Ruby 等网红语言才有最完美的支持,但在少有人用 VS Code 开发 iOS 的情况下,其对 Swift 的支持依然十分惊艳。最后,因此对人类失去信心的同学可以复习王垠的「[人工智能的局限性](https://www.yinwang.org/blog-cn/2017/04/23/ai)」,重拾改一辈子 bug 的无产阶级觉悟。
+
+> 由 [@Keith](https://github.com/KeithBird) 推荐并完成简评
+
+### 🐕 [听说你想写个 DNS 服务器 - 数据包](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486555&idx=1&sn=a1e7e018a549ad155cfad6eb4b135e3e&chksm=cf558393f8220a852fdd90d0919981239d2bbe0266f511ffd27ecbde6e972399b24fdeaec9b8&token=1949232915&lang=zh_CN#rd)
+
+[@J_Knight_](https://github.com/knightsj):本文作者开始了一个新的系列来讲解如何用 Swift 语言来实现 DNS 服务器。作为本系列的开篇,本文主要介绍了 DNS 数据包的结构(包头和包体数据),各个部分的字段定义,布局信息以及介绍了如何通过抓 DNS 数据包来解析 DNS 相关数据的方法。
+
+扩展阅读:
+
+- [听说你想写个 DNS 服务器 - 数据写入](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486681&idx=1&sn=daebc908f4fe22c6d773f1e4e38fa350&chksm=cf558311f8220a07af12fe2a0956fd76ddff0006162ebb983b1795eb201bbe11c3a8456ebced&token=540344501&lang=zh_CN#rd)
+
+### 🐕 [Improving Platform Channel Performance in Flutter](https://medium.com/flutter/improving-platform-channel-performance-in-flutter-e5b4e5df04af)
+
+[@Damien](https://github.com/ZengyiMa):本文是 pigeon 的作者 Aaron Clarke 带来的精彩好文,Aaron Clarke 通过减少在 Dart、C++、ObjC、JVM 之间信息传递中发生的多余 copy 优化,来提升 Native 与 Flutter 通信的性能。最终取得的效果在老设备上 15% 的提升,新设备上获得了 42% 的性能提升。并在文章最后给出了一些优化建议,如果对性能要求高场景,可以使用 BasicMessageChannel 和 FlutterBinaryCodec 并且配合自己实现 encode & decode,通过这个组合来提高 Flutter 和 Native 之间的性能。
+
+## 摸鱼周报
+
+[@摸鱼周报 #18](https://mp.weixin.qq.com/s/JsGmu7pzYLI3Svrmk5i2cA):第十八期摸鱼周报来啦,一起看看本期概要:
+
+本期话题:什么是暗时间,来源于刘未鹏的《暗时间》。
+
+Tips 内容用一张详细的思维导图总结了 Fastlane 几乎所有的常见方法。
+
+面试解析围绕 block 的变量捕获机制展开说明了 block 的一些用法和面试高频考察点。
+
+优秀博客带来了几篇编译优化相关的文章。
+
+学习资料带来了一个从 0 设计计算机的视频教程,偏电路一些;还有 Git 和正则表达式的文字教程。
+
+开发工具介绍了两个代码片段整理应用:SnippetsLab 和 CodeExpander。
+
+
+## 代码
+
+### [Hammer](https://github.com/lyft/Hammer)
+
+[@Smallfly](https://github.com/iostalks):[Hammer](https://github.com/lyft/Hammer) 是一款模拟交互事件的 Swift 开源库,支持模拟触摸,iPad 手写笔,键盘输入。它能很好地用于 UI 自动化测试,尽可能替代一系列的人工操作。有兴趣的同学可以了解一下。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> 杭州网易云音乐社区团队招聘高级/资深 iOS 开发工程师,包含云音乐动态,MLog 视频,评论,播客,云圈,音视频编辑等多条核心业务。负责音视频社区生产分发建设,打造良好的社区互动氛围。我们保持将最新技术引入,提升开发效率,带给用户更好的体验。联系方式:简历发送至 iostalkboy@gmail.com。
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#168-2021.07.26.md b/Reports/2021/#168-2021.07.26.md
new file mode 100644
index 000000000..3e178db8d
--- /dev/null
+++ b/Reports/2021/#168-2021.07.26.md
@@ -0,0 +1,148 @@
+# 老司机 iOS 周报 #168 | 2021-07-26
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC
+
+### WWDC 21 内参
+
+老王身体抱恙,停更一周~
+
+## 新手推荐
+
+### 🌟 🐢 [干货 | Flutter 控件 CustomScrollView 原理解析及应用实践](https://mp.weixin.qq.com/s/dF5Id3w_To4aXeXDbUnUjQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):CustomScrollView 可以说是 Flutter 开发中一定会用到的一个控件,List,Grid,Sliver 等都是基于 CustomScrollView 实现的,那么如何用好 CustomScrollView 是一个技术活,本文由携程技术产出,从原理上讲解如何更好的使用 CustomScrollView,文中涉及诸多开箱即用的知识点,小编强烈推荐各位仔细学习一遍。
+
+## 文章
+
+### 🌟 🐢 [深入理解 WKWebView(基础篇)—— 聊聊 Cookie 管理那些事](https://mp.weixin.qq.com/s/jZP2DsAa5OV91wdNMw39cA)
+[@享耳先森](https://github.com/iblacksun):本篇是系列第三篇,文章首先介绍了 Cookie 相关 API,然后深入介绍 WebKit 内部 Cookie 管理方式及技术原理。前两篇见:
+
+- [深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析](https://mp.weixin.qq.com/s/VdkVBIQwj7WkAk8-5wppmQ)
+- [深入理解 WKWebView(基础篇)—— WKWebView 加载生命周期与代理方法剖析](https://mp.weixin.qq.com/s/ZFui9IiMTWyLXGKZlbnzwQ)
+
+
+### 🐕 [详解:mach-o 文件如何分析多余的类和方法](https://mp.weixin.qq.com/s/z0eK4cOfvYWFhHl16rGnEg)
+
+Mach-O 是 Mach Object 的缩写,是 Mac 上的可执行文件的格式。本文通过对 Mach-O 的介绍,让我们了解到如何通过 Mach-O 来分析无用类,从而减少包体积的大小。作者还基于此封装了一个分析工具,有兴趣的读者可以了解一下。
+
+### 🐕 [iOS 优化 - 瘦身](https://mp.weixin.qq.com/s/wDcYvea5dTq0dh0PBwRu4A)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了 iOS 的经典问题,瘦身优化,从最基础的概念讲起,新人友好,同时也适合大家温故而知新。这是一个优化的专题系列,可以持续关注。
+
+关键点脉络梳理如下:
+- APP 的**下载大小**简单介绍
+- 瘦身方向
+- App Thinning
+- 资源文件瘦身
+- 编译选项优化
+- Mach-O 可执行文件瘦身
+
+### 🐎 [Mutating and non-mutating Swift contexts](https://www.swiftbysundell.com/articles/mutating-and-nonmutating-swift-contexts/)
+
+[@xiaofei86](https://github.com/xiaofei86):Swift 帮助我们编写更健壮代码的方法之一是通过其广泛使用的值类型。在使用值类型时,所有更改默认情况下仅对我们正在使用的副本执行,并且实际执行更改的 API 必须清楚地标记为 mutating。本文将探讨 mutating 及其不太常用的对应项 nonmutating 的能力和使用场景,感兴趣的同学可以阅读原文了解。
+
+### 🐎 [Fixing a hard-to-find bug in Dark Mode](https://www.jessesquires.com/blog/2021/07/15/fixing-a-hard-to-find-bug-in-dark-mode/)
+
+[@Smallfly](https://github.com/iostalks):市面上主流 iOS App 基本都支持了系统的深色模式。本文作者在支持深色模式时,遇到 UIButton 在系统主题切换后,部分颜色没有被正常更新。经过一系列的分析,最终定位到问题出在 [Dynamic System Colors](https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/) 上。这个坑在支持换肤时还是比较容易踩到的,有需求的同学可以关注一下。
+
+### 🐎 [重磅开源|AOP for Flutter 开发利器——AspectD](https://mp.weixin.qq.com/s/lvP2UFHOG0HrtqMMf7na0g)
+
+[@Damien](https://github.com/ZengyiMa):面向切面的编程意为:通过预编译方式和动态代理技术在不侵入代码的前提下在指定位置插入功能代码,由于在 Flutter 中禁止了反射的功能,所以在 Flutter 实现 AOP 框架只能另辟蹊径。本文是咸鱼团队在实现 FLutter 的 AOP 框架带来的新的思路,通过对 FLutter 的 dill(Dart Intermediate Language)文件的修改来实现了 AOP 的功能,在 Flutter 中有 AOP 需求的同学不妨可以仔细阅读。
+
+### 🐎 [听说你想写个 DNS 服务器 - 记录类型扩展](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486727&idx=1&sn=a71ed08275433e15593069e010c31c02&chksm=cf5582cff8220bd96ce28f0dd8874f27064e3999792e6ad25d90a0cf2f56651278495a6927de&token=87205550&lang=zh_CN#rd)
+
+[@J_Knight_](https://github.com/knightsj):本文是《听说你想写个 DNS 服务器》系列的第三篇,介绍了记录结构以及除 ipv4 映射记录之外的其他四种记录类型:
+
+- AAAA:域名与 ip 映射记录,ipv6 地址
+- NS:DNS 域名服务器记录
+- CNAME:域名对应的另一个域名,表示真正查找的域名
+- MX:邮件服务器域名记录
+
+并结合代码展示了如何处理记录读取扩展和记录展示扩展。
+
+## 摸鱼周报
+
+[@摸鱼周报 #19](https://mp.weixin.qq.com/s/dtyozlqCO7PcpyGhx2qB5g):第十九期摸鱼周报来了,一起来看下本期概要:
+
+- 本期话题通过对《暗时间》里内容的总结,分享了一些学习和记忆的方法。
+- 开发 Tips 讲了如何区分 `minimumLineSpacing `和 `minimumInteritemSpacing` 这两个属性及本地化关于日期的注意事项。
+- 面试解析讲解了属性及属性关键字的几个知识点,由@师大小海腾和@反向抽烟整理,内容非常之详细。
+- 优秀博客整理了几篇卡顿优化的优质文章。
+- 学习资料有两个内容,Combine Operators:帮助理解 Combine 操作符的手机端 App;还有 Stanford 最新的 SwiftUI 2.0 双语教程。
+- 开发工具带来了一个基于 linkmap 分析执行文件大小的工具:LinkMap。
+
+## 工具
+
+### [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp)
+
+[@AidenRao](https://weibo.com/AidenRao):一个可以安装多个 Xcode 版本,并在它们之间快速切换的应用。
+
+- 可安装所有可用的 Xcode 版本
+- 自动化安装,并使用多达 16 个链接,下载速度比直接通过 URLSession 快 3-5 倍
+- 一键安装对应版本的 xcode-select
+- 可查看发布说明,操作系统兼容性。
+
+
+### [Flutter 应用内调试工具 UME 开源啦](https://github.com/bytedance/flutter_ume)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang): 由字节跳动开源。UME 当前内置了如 性能浮层、日志展示、颜色吸管、代码查看 等 10 个插件,可以按需注册插件。已满足大部分日常开发所需。[pub 地址 >>>](https://pub.dev/packages/flutter_ume)
+- 优点:
+ - 插件可以按需注册,且支持开发者自己定制件,UME 欢迎大家共建
+ - 对 ``1.12.13``,``2.0.1`` 等几个较为稳定的版本都有兼容
+ - 有单测保证工具稳定性
+- 不足:
+ - 有一定侵入性。由于 UME 内部管理路由,因此 APP 内其余 showDialog 等方法需要传入参数 ``useRootNavigator: false``
+ - 部分功能依赖 ``VM Service``,本地运行需对脚本进行修改(添加 ``--no-dds`` 参数)
+ - 插件内部实现还未兼容 ``nullsafety``,当前只能通过 ``dependency_overrides`` 覆盖版本在 ``no-sound-null-safety`` 模式下使用的,期待适配
+
+## 代码
+
+### [GodL/Binder](https://github.com/GodL/Binder)
+
+[@JonyFang](https://github.com/JonyFang):Binder 是一个由 `PropertyWrapper` 驱动的数据绑定库,实现了一些类似 RxSwift 的变换操作函数,函数之间支持相互组合。
+
+### [CalendarApp](https://github.com/richardtop/CalendarApp)
+
+[@Parsifal](https://github.com/ParsifalC):[@Richard][https://github.com/richardtop] 录制了一期关于使用 [CalendarKit](https://github.com/richardtop/CalendarKit) 打造一个简单仿原生日历 App 的视频教程 - [Create iOS Calendar App in Swift with CalendarKit](https://www.youtube.com/watch?v=iC4XxmExqFA),这是他最后完成的一个 Demo 代码。Calendar 相关的教程不多,[CalendarKit](https://github.com/richardtop/CalendarKit) 可以迅速帮你在 App 内创建类似系统日历 UI 的功能。
+
+> 由 [@Richard][https://github.com/richardtop] 自荐
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> bilibili 主站技术中心招聘 高级/资深 移动开发工程师 (包含 iOS Android C++ 等方向)
+本团队为核心团队,包含基础架构,播放业务,流量业务,创新业务,通用业务等等众多选择,是内部最大的移动端团队。
+负责横向支撑整个平台,追求极致的用户体验,对新技术保持敏感,是国内少数使用 bazel 的团队。
+联系方式:简历发送至 zhaohan01@bilibili.com。(注明岗位)
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#169-2021.08.02.md b/Reports/2021/#169-2021.08.02.md
new file mode 100644
index 000000000..9e48ad315
--- /dev/null
+++ b/Reports/2021/#169-2021.08.02.md
@@ -0,0 +1,182 @@
+# 老司机 iOS 周报 #169 | 2021-08-02
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## WWDC 21
+
+### 🌟 线下沙龙
+
+[@Parsifal](https://github.com/ParsifalC):上周四开始,我们已经在周报公众号上开始陆续发布今年杭州场沙龙的分享文章、PPT 和视频等内容了,本周也会继续发布杭州场和上海场的相关内容信息,欢迎大家继续关注~
+
+- [淘宝工程渐进式拥抱 Swift - 倾寒](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247491478&idx=1&sn=8dc4a6a6062056b9bed801ea043f7919&chksm=eaa2809dddd5098b4e8ecc06ba6d0649321f75981f56517ed25577e12de183e392577aba9267&token=1581804799&lang=zh_CN#rd)
+- [西瓜视频的 IAP 支付实践与 StoreKit 新特性 - 黄骋志](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247491481&idx=1&sn=652c93ef30634f979008387cc029ec68&chksm=eaa28092ddd509848862d136c906a913bdb40a41f2220245393ed0498b4669671c0e4b41247e&token=1581804799&lang=zh_CN#rd)
+
+### 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parsifal](https://github.com/ParsifalC):本周内参恢复更新,8 篇高质量内容已经发布~
+
+- @VincentMing:[【WWDC21 10132】 认识 Swift 的 Async/Await](https://xiaozhuanlan.com/topic/9307851264)
+- @fakeGourmet:[【WWDC21 10143】- 探索 AVFoundation 中的 HLS 变体](https://xiaozhuanlan.com/topic/8432795016) & [【WWDC21 10142】 - 使用 HLS 让媒体无缝切换](https://xiaozhuanlan.com/topic/7392854016) & [【 WWDC21 10141】 - 使用 HLS Content Steering 提升全球范围流媒体的可用性](https://xiaozhuanlan.com/topic/2956103478)
+- @Mim0sa:[【WWDC21 10097 10251 10349】- SF Symbols 使用指南](https://xiaozhuanlan.com/topic/9214865730)
+- @MarryNerV:[【WWDC21 10220 10221】 - 本地化功能上新](https://xiaozhuanlan.com/topic/6278501394)
+- @Nemo:[【WWDC21 10047】 - 相机拍摄新变化](https://xiaozhuanlan.com/topic/0729458136)
+- @kk:[【WWDC21 10002 10009】- watchOS 8 中的新特性](https://xiaozhuanlan.com/topic/0142735986)
+
+### WWDC 21 播客
+
+#### [WWDC21 瞎谈:Catalyst、SwiftUI、Flutter 谁是 UI 的未来?](https://www.xiaoyuzhoufm.com/episode/61009e2083c3728d82be24c4)
+
+[@没故事的卓同学](https://github.com/lacklock):这是我们第二期 WWDC 相关的播客,本期我和老驴、四娘、少庸一起聊了一下对 Catalyst、SwiftUI、Flutter 的看法。本期节目在苹果播客、网易云音乐、QQ 音乐、汽水儿、喜马拉雅中也有上线。
+
+## 文章
+
+### 🌟 🐢 [我写技术文章的一点心得](https://ming1016.github.io/2021/07/24/my-little-idea-about-writing-technical-article/)
+
+[@Barney](https://github.com/BarnyZhao):本文是戴铭老师对自己过往写作经验的深度总结,从四个写作要点开篇,分析了自己过往的经典文章以及当时的想法和灵感。紧接着结合本次 WWDC 举例,传授新手如何开始写作的经验。可谓是干货满满,适合反复阅读。
+
+关键点脉络:
+- 四个点
+- 过往经验
+- 我是新手怎么办
+- WWDC 和 经验总结
+
+### 🌟 🐕 [基于 Swift 编写严肃脚本工具](https://github.com/100mango/zen/blob/master/%E5%9F%BA%E4%BA%8E%20Swift%20%E7%BC%96%E5%86%99%E4%B8%A5%E8%82%83%E8%84%9A%E6%9C%AC%E5%B7%A5%E5%85%B7/%E5%9F%BA%E4%BA%8E%20Swift%20%E7%BC%96%E5%86%99%E4%B8%A5%E8%82%83%E8%84%9A%E6%9C%AC%E5%B7%A5%E5%85%B7.md)
+
+[@EyreFree](https://github.com/EyreFree):本文作者是目前就职于微信的 100mango 老师,开篇通过分析 Swift 在国内外的使用现状以及在微信的一些应用场景表现了 Swift 的光明前途,并且借由「微信支付跨平台代码生成器是由 Swift 编写的」这一事例引出了文章主题:如何通过 Swift 来编写脚本 / 自动化工具。主要分为以下四步:
+
+- 创建工程:通过 Swift Package Manger 创建了工程,并调整了工程结构,依赖管理;
+- 编写代码:通过编写一个简单生成随机数的工具感受 Swift 编写脚本工具,并给我们的工程引入了苹果开源的 Argument Parser 库。用于简化命令行参数解析,优化工具说明;
+- 测试:分别对逻辑代码和命令行 API 进行了测试;
+- 发布:通过一行简单的代码,就能生成可执行文件进行分发;
+- 进阶操作:最后介绍了几个进阶操作,我们还发现通过 Swift 编写脚本工具,还能直接和 AppKit / SwiftUI 进行交互,非常的具备扩展性。
+
+这篇文章并没有展示特别复杂的代码,但是根据上面展示的步骤、原则,就能编写出能够支撑像微信支付跨平台代码生成器这样的命令行工具。Swift 是一门优雅的编程语言,以后大家不管是遇到编写一些小脚本还是开发大型严肃工具的场景,都可以尝试用 Swift 实现了呢!
+
+### 🌟 🐕 [Calling Hidden/Private API from Swift in Style](https://medium.com/swlh/calling-ios-and-macos-hidden-api-in-style-1a924f244ad1)
+
+[@JonyFang](https://github.com/JonyFang):在 Swift 中使用 Objective-C 私有 API 一般有两种方式,自己创建头文件或消息的方式,但不管哪一种使用起来都会比较繁琐。本文中,作者基于 Swift 的 `@dynamicMemberLookup` 和 `@dynamicCallable` 特性封装了围绕 Objective-C 类和对象的库 -- [mhdhejazi/Dynamic](https://github.com/mhdhejazi/Dynamic)。`mhdhejazi/Dynamic` 满足了 Swift 可以以更简单和直观的方式来调用私有 API。
+
+### 🌟 🐕 [大家来找茬:记一起 clang 开启 -Oz 选项引发的血案](https://mp.weixin.qq.com/s/1RNsrmUKuxmQa0jPZozE9A)
+
+[@Leo](https://github.com/leomobiledeveloper):我们可以通过 -Oz 的编译选项来优化包体积,但是在某些极端情况下 -Oz 会导致编译器的某些优化失效,引起一些非预期的问题。本文就是关于一个开启了 -Oz 导致 autorelease 优化失效,对象误被放入 autoreleasepool 中,进而引起大量内存堆积的问题。文章干货颇多,推荐阅读。
+
+### 🐎 [技术债治理的四条原则](https://insights.thoughtworks.cn/managing-technical-debt/)
+
+[@莲叔](http://github.com/aaaron7):在我们的工作中,重构是一个经常提及的话题,毕竟现在都是业务优先,几乎没有一个业务的技术架构是一步一步稳扎稳打的建立起来的, 普遍都是上线要紧,随着而来的就是各种各样的技术债。对于技术债,重构还是不重构,这也是一个问题。不重构吧,做新需求很蛋疼,容易踩雷,稍不留神就线上故障。重构吧,投入很多人力物力,但其结果很难产生真正的业务收益,业务方不买单也就算了,还可能导致目前线上已经在跑的模块出现问题。不管从哪个方面来看,这都是一个很两难的问题。这篇文章针对这个两难问题进行了非常深入的分析与讨论,并且旗帜鲜明的给出了自己的态度:要解决,但是需要遵循几个基本的原则。感兴趣的同学可以阅读一下,或许可以找到符合你们团队实际情况的答案。
+
+### 🐕 [The flutter “const” Keyword demystified.](https://medium.com/flutter-community/the-flutter-const-keyword-demystified-c8d2a2609a80)
+
+[@邦Ben](https://weibo.com/linwenbang):这篇文章简单介绍了 const 的使用会对某些频繁创建的场景的性能有所优化,例如在构造方法中加入 const 声明,可以提高复用 widget,节省内存。总体而言,在频繁复用场景中(例如做动画),建议加上 const ,其他基本不复用的场景则作用不大。
+
+可以配合下方链接阅读,参考文章作者也对 const 的使用进行了简单的测试以证明效果。
+
+参考:
+[Flutter 的 Widget,刻意加上 const,真的值得吗?](https://juejin.cn/post/6977212326394986510)
+
+### 🐕 [网易新闻 iOS 工程组件化实践](https://mp.weixin.qq.com/s/mfvbRXEhJBqzhwQbjnuZgw)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):网易新闻也是迭代了 10 年的 APP 了,最终实现了主工程里只有一个 main 文件,组件数量达到了 268 个。
+
+每个 APP 会由于项目特点以及团队组织结构的区别,在实践中细节会有些许不同,但目的都是明确的:提高可维护性、开发效率。网易新闻业务之间耦合较多,业务之间频繁相互调用接口也有成本;团队没有按业务进行拆分,同时业务之间也不需要隔离。因此网易新闻没有选择通过路由将业务完全隔离,而是将业务拆为两层,顶部的展现层利用路由隔离,下方的业务层可以单项依赖。
+
+同时网易新闻还对工具链进行了改造:
+- 在组件配置信息中增加 level、binary 等参数,在 ``pod install`` 时前置报出 warning ,防止组件之间的错误依赖关系
+- 推行严格的代码责任制以及 Merge Request 规范化
+- 未选择版本号,而是采用通过 Xcode 缓存,MD5 区分版本的本地二进制方案,减少额外的人力成本
+
+> 自荐: [lixf](https://https://github.com/lixinfei)
+
+### 🐕 [美团 App 页面视图可测性改造实践](https://mp.weixin.qq.com/s/YcvFSs-97SpMKjlpj9Dzqg)
+
+ [@含笑饮砒霜](https://weibo.com/chinafishnews/):本文围绕动态化容器中的动态布局技术,阐述了如何通过可测性改造来帮助达成提升测试效率的目标。本文目录:
+
+* 美团App的页面特点
+
+* 自动化测试实施中的技术挑战
+ * 页面元素无法定位
+ * Appium元素定位的原理
+ * AccessibilityNodeInfo和Drawable
+
+* 页面视图可测性改造-XraySDK
+ * 定位方案对比
+ * 视图信息的获取和存储-XrayDumper
+ * 视图信息的输出-XrayServer
+ * SDK整体功能结构
+ * 视图信息的增强
+ * 动态布局自动化的收益
+
+* 未来展望
+ * 使用视图解析原理解决WebView元素定位
+ * 视图可测性改造更多的应用场景
+
+### 🐕 [面试中 LRU / LFU 的青铜与王者](https://github.com/halfrost/Halfrost-Field/blob/master/contents/Go/LRU:LFU_interview.md)
+
+[@J_Knight_](https://github.com/knightsj):本文作者介绍了 LRU 和 LFU 算法的原理和 Go 语言的实现。也分享了 LRU 和 LFU 的优化方案和“如何实现一个高并发且线程安全的 LRU” 这个问题的实现思路。
+
+### 🐕 [从 WebKit 源码中学习手势处理的高级用法——WKWebView中的手势识别](https://mp.weixin.qq.com/s/pt1nk5z5nK-fPCKqQlP-sg)
+
+[@折腾范儿_唯敬](https://www.weibo.com/agvicking/home?wvr=5):本文的作者从对 iOS 事件响应与手势的基础原理入手,深挖到 WebKit 源码中对于手势的处理策略,针对 Web 界面中更复杂更多样的手势处理进行分析与总结,非常有助于我们加深对 iOS 手势的深入理解与运用。
+
+### 🐎 [Xcode 13 Missing Info.plist](https://useyourloaf.com/blog/xcode-13-missing-info.plist/)
+
+[@AidenRao](https://weibo.com/AidenRao):文中主要介绍了 2 点:
+
+1、Xcode 13 新起的 SwiftUI 项目,Info.plist 文件已经不存在,文中介绍了如何找回 Info.plist。
+
+2、Xcode 13 新建的项目无法用 Xcode 12 打开,文中介绍了如何更改设置来向前兼容 Xcode 12。
+
+> 感谢 [faimin](https://github.com/faimin) 的推荐
+
+## 摸鱼周报
+
+[@摸鱼周报 #20](https://mp.weixin.qq.com/s/PjiZzx3VSAfAGHRJs160aQ):第二十期摸鱼周报来了,一起来看下本期概要:
+
+* 小编整理了一些洪灾应对的指南,希望对大家有所帮助。
+* Tips 部分介绍了如何绘制一个高颜值的统计图。
+* 面试解析模块本期讲解深拷贝浅拷贝的知识点。
+* 优秀博客汇总了不少包体积优化的优秀文章。
+* 学习资料推荐了 [Better Explaine](https://betterexplained.com/) 这个网站,其用于帮助大家理解那些复杂的数学概念。
+* 截图工具 Snipaste,无用图片搜索工具 LSUnusedResources。
+
+## 代码
+
+### 🐕 [OpenCombine](https://github.com/OpenCombine/OpenCombine)
+
+[@zvving](https://github.com/zvving):与 SwiftUI 一起推出的 [Combine](https://developer.apple.com/documentation/combine) 本可以作为响应式框架独立使用,但最低系统 iOS13 的限制极大制约其应用。
+
+类似 [CombineX](https://github.com/cx-org/CombineX),[OpenCombine](https://github.com/OpenCombine/OpenCombine) 旨在为 iOS/macOS 低版本(>= iOS 8.0)及跨平台场景提供 API 一致的开源实现,为后续向官方 Combine 过渡提供『无缝切换体验』。项目依旧在早期阶段,感兴趣的朋友们可以提前了解,生产环境应用需谨慎。
+
+> 感谢 [XanderXu](https://github.com/XanderXu) 的推荐
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#170-2021.08.09.md b/Reports/2021/#170-2021.08.09.md
new file mode 100644
index 000000000..481240b04
--- /dev/null
+++ b/Reports/2021/#170-2021.08.09.md
@@ -0,0 +1,144 @@
+# 老司机 iOS 周报 #170 | 2021-08-09
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+**周报编辑组又来新人啦~欢迎黄骋志加入周报组织。骋志是我们这次杭州场线下沙龙的分享嘉宾,完成了 IAP 在西瓜视频上的落地,同时对跨端技术(Flutter & RN)均比较熟悉。希望骋志的加入也能为大家带来更多元化的内容输出!**
+
+### 🌟 线下沙龙
+
+[@Parsifal](https://github.com/ParsifalC):我们正在周报公众号上陆续发布今年杭州场和上海场沙龙的分享文章、PPT 和视频等内容,欢迎大家继续关注(公众号回复**杭州**即可获取杭州场文章和视频)~
+
+- [Flutter 混编工程的模块化架构设计实践 - Jackie](https://mp.weixin.qq.com/s/A2gYRPJ0u8TVXZyMtEArlA)
+- [抖音创作工具防劣化实践 - Crespo](https://mp.weixin.qq.com/s/_c3y9KnbKS6VnqTb0AKRWg)
+- [Async and Await in Swift 5.5 - 彭玉堂](https://mp.weixin.qq.com/s/DopuYyy479eSjgns3iaWaw)
+
+### 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parsifal](https://github.com/ParsifalC):本周内参更新,6 篇高质量内容已经发布~
+
+- @Sinno:[【WWDC21 10278】Core Haptics 初体验](https://xiaozhuanlan.com/topic/0382695741)
+- @sunset:[【WWDC21 10267】一窥 Xcode Cloud](https://xiaozhuanlan.com/topic/2946158037)
+- @土土Edmond木:[【WWDC21 10056】让您的 iPad 与 iPhone 应用程序在 M1 的 Mac 上大放异彩](https://xiaozhuanlan.com/topic/4392718605) & [【WWDC21 10210】探索 Xcode 项目中构建配置的高级技巧](https://xiaozhuanlan.com/topic/3518046279)
+- @Sean:[【WWDC21 10202】Detect bug early using static analyzer](https://xiaozhuanlan.com/topic/7125309684)
+- @冬瓜:[【WWDC21 10253】使用 Swift 特性 Result Builder 定制 DSL](https://xiaozhuanlan.com/topic/9042736581)
+
+## 新闻
+
+### 🌟 [重要!与苹果工程师一对一咨询的机会~](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247491606&idx=1&sn=15026f240a4597922aff0e2786473dfd&chksm=eaa17f1dddd6f60b43344e46cbc04cc8bc1d9c9c7f6c6e924abf5519b0670cee345367132f57&token=2123226571&lang=zh_CN#rd)
+
+[@Parsifal](https://github.com/ParsifalC):苹果官方的一对一咨询活动来啦!2021 年 8 月 17 日(周二)举办主题为 “Core ML 和 Create ML 的最新进展及更多”的在线研讨会。本次面向周报读者免费公开报名,扫码即可参与。苹果工程师一对一 30 分钟的咨询介绍,名额有限,报满即止。
+
+
+
+## 新手推荐
+
+### 🐎 [Flutter (able) 的单例模式 | Flutter 设计模式](https://mp.weixin.qq.com/s/hRvmbRcJlOj5iB1HqvUkog)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):单例模式,可以被称得上是诟病最多的设计模式了,objccn 中也有一篇[避免滥用单例](https://objccn.io/issue-13-2/)。但这并不是单例模式的错,而是使用单例的方式错误导致的。
+
+本文给大家展示了利用 工厂构造函数 + 空安全语法 + 箭头函数 写出符合 Dart 特性的单例代码,可以做个参考。**真的还是少用**。然后引出了 InheritedWidget,相对于一般的单例,这是前端中比较通用的状态同步方案,如果衡量下需要一个全局统一的数据仓库,那就在 InheritedWidget / Redux / Angular 中挑一个吧。若不清楚 InheritedWidget 可以配合下方链接了解。
+
+> [《Flutter 实战》 数据共享(InheritedWidget)](https://book.flutterchina.club/chapter7/inherited_widget.html)
+
+## 文章
+
+### 🌟 🐕 [脉脉 iOS 如何启动秒开 - 知乎](https://zhuanlan.zhihu.com/p/396550853)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文是脉脉技术团队对启动优化的实践总结,从理论到实践相结合,适合从零了解启动优化。
+
+关键点:
+- App 是如何启动的
+- 衡量 App 启动时间
+- 核心方法分析
+- 制定 App 启动优化方案
+- 验证 脉脉 App 启动优化效果
+
+### 🌟 🐕 [拿去吧你!Flutter 仿自如 App 裸眼 3D 效果](https://juejin.cn/post/6991409083765129229)
+
+[@邦Ben](https://weibo.com/linwenbang):该文模仿自如团队在 Flutter 上利用 Accelerometer (加速度传感器)、Gyroscope (陀螺仪)实现了视差形成的裸眼 3D 效果,看演示 Demo 效果不错,文章写的原理分析不错,也可以看一下自如团队 Android 端实现。
+
+> [自如客 APP 裸眼 3D 效果的实现](https://juejin.cn/post/6989227733410644005)
+
+### 🌟 🐕 [快手海外 Swift/ObjC 混编与二进制化工程实践](https://mp.weixin.qq.com/s/d-atu1J_gqd3-rM0UXAqbA)
+
+[@JonyFang](https://github.com/JonyFang):本篇主要记录了快手团队在 Swift/OC 二进制化混编实践过程中碰到的诸多问题及解决方法,最终的结果是:有效提高了编译效率。
+
+整体的目录结构如下:
+
+1. Swift/ObjC 混编背景介绍
+2. 单 Target 混编
+ - bridging header
+3. 多 Target 混编
+ - OC 组件 Clang module 化
+ - 处理难以 Module 化的 Pod 组件
+ - Swift 组件的二进制兼容
+ - 二进制化混编
+4. 实践中遇到的问题
+ - Framework search path 与 Header search path 的冲突问题
+ - Module 中使用宏的问题
+ - FakeFramework 解决依赖关系与编译顺序的问题
+5. 展望未来
+ - 基础库规范适配处理
+ - 规范公开头文件
+ - 提高 Module 化组件占比
+
+### 🌟 🐕 [浅析快手 iOS 启动优化方式——动态库懒加载](https://mp.weixin.qq.com/s/gNc3uK5ILbXsO8jB1O-jnQ)
+
+[@Leo](https://github.com/leomobiledeveloper):App 的启动速度与用户体验息息相关,启动速度越快,用户的留存率往往也会越高。对于 iOS 应用来说,其启动主要分为 main() 方法之前 (也称为 premain ) 和 main() 方法之后两个阶段。本文将要介绍的优化方式是动态库懒加载,即主要针对 premain 阶段进行优化。文中会重点介绍在动态库懒加载和启动代码动改静的实践过程中遇到的一些问题及处理方式。
+
+### 🐎 [StaticString, and how it works internally in Swift](https://swiftrocks.com/staticstring-in-swift)
+
+[@Smallfly](https://github.com/iostalks):字符串是开发中比较常用的类型,Swift `String` 作为结构体,运行时在栈内创建字符串实例。对于不可变的字符串,频繁使用 `String` 类型,对栈内存和 CPU 来说是一种浪费。Swift `StaticString` 类型在 `String` 的基础上进行了优化,实现了字符串引用,本文简单的介绍了它在编译器层的实现原理。
+
+## 摸鱼周报
+
+[@摸鱼周报 #21](https://mp.weixin.qq.com/s/Hcd8CtkyqD8IXM0SbVJo-A):第二十一期摸鱼周报来了,一起来看下本期概要:
+
+* 本期话题源于看到的一个讲解身体机制的视频,人在危重的时候身体会有哪些反应。
+* 关于 `UserDefaults` 的一些用法。
+* 面试解析本期讲解 load 和 initialize 的一些知识点。
+* 内存方面的优化,通常分为两个步骤:问题定位,利用 Instruments 中的 Leak,Allocation 进行分析。问题解决,解决特定内存问题或使用 mmap 方案进行优化。大家也可以带着问题去阅读相关文章。
+* Open Source Society University:非常受欢迎的计算机科学自学教程,Swift Programming for macOS:用 Swift 开发 Mac 应用的一些示例介绍。
+* Messier:一个 Objective-C 方法耗时监控的方案。
+
+
+## 工具
+
+### [cocoapods-TSPodfileTimeWatch](https://github.com/cxr0715/cocoapods-TSPodfileTimeWatch)
+
+[@红纸](https://github.com/nianran):这是一款开箱即用的 Cocoapods 插件,插件用于提供了 Cocoapods 中几项重要的耗时/磁盘占用指标(仓库下载耗时、仓库文件大小、Cache 文件大小、解压耗时、Git 版本差值),作者也很贴心的输出了 csv 格式文件。当小伙伴们需要 Cocoapods 相关的量化数据指标,做一些耗时跟磁盘相关优化的话,推荐可以使用此工具。
+
+> 自荐:[Ke哀](https://github.com/cxr0715),目前就于职手机 QQ,从事手 Q 基础开发
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#171-2021.08.16.md b/Reports/2021/#171-2021.08.16.md
new file mode 100644
index 000000000..f8050522e
--- /dev/null
+++ b/Reports/2021/#171-2021.08.16.md
@@ -0,0 +1,113 @@
+# 老司机 iOS 周报 #171 | 2021-08-16
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+### 🌟 线下沙龙
+
+[@Parsifal](https://github.com/ParsifalC):我们正在周报公众号上陆续发布今年杭州场和上海场沙龙的分享文章、PPT 和视频等内容,欢迎大家继续关注(公众号回复**杭州**即可获取杭州场文章和视频)~
+
+- [基于 Bazel的 iOS MonoRepo 实践 - 张忻正](https://mp.weixin.qq.com/s/zFrKoHPBv3qz8TiwdqP8Fw)
+- [Advanced Property Wrapper in Swift - 黄智杰](https://mp.weixin.qq.com/s/psgRgIZlVDtIeQeDmUmXOw)
+- [From Idea To Product - Roc](https://mp.weixin.qq.com/s/TZHrFOU65iG7QQwP8b96-w)
+
+### 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parsifal](https://github.com/ParsifalC):本周内参更新,1 篇高质量内容已经发布~
+
+- @陈剑强:[【WWDC21 10036】使用 SoundAnalysis 内置分类器实现声音分类](https://xiaozhuanlan.com/topic/5627914803)
+
+## 新手推荐
+
+### 🐎 [iOS 页面渲染 - UIView & CALayer](https://mp.weixin.qq.com/s/ElGEsJoh3Y1-BWlvz1yJ9w)
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):UIView 所有 iOS 开发想必都接触过,但底下的 CALayer 大家了解就相对偏少,本文适合刚入门的开发者查漏补缺。内容如下:
+
+- CALayer 是如何与 UIView 配合实现动画,以及 内部的三份树形结构:layer tree (model tree)、presentation tree、render tree
+- CALayer 在页面的渲染流程中发挥的作用,通过 CALayerDelegate 可以实现手动绘制、异步绘制
+- bounds、position、anchorPoint 等属性的介绍,并总结了 frame 与其他属性的关系
+
+## 文章
+
+### 🌟 🐢 [深入理解 Swift 代码覆盖率](https://mp.weixin.qq.com/s/uKfrC2NB3njzF1JQUt_cbg)
+
+[@Parsifal](https://github.com/ParsifalC):对于基础架构团队,输出产物的稳定性是至关重要的,尤其是像字节这样一个超大型的客户端团队内。为了保障各项 SDK 的稳定性,提高自动化测试的覆盖率是很多团队的一个选择。若你也是 Swift 的长期使用者或关注者,不难发现自从 Swift 2 开始,官方便支持了 Swift 测试代码覆盖率的统计。对于一般的项目而言,只要简单在 Xcode 中开启对应开关,就可以轻松得到项目中的覆盖率。但本文讨论的是基于分布式编译和测试场景下的 Swift 代码覆盖率,这一场景下,精准统计覆盖率就变得不那么容易了。主要原因在于分布式执行 CI 任务,是在相对隔离的环境下进行的,每次任务间的编译路径并不相同,无法简单直接累加覆盖率合成实际完整的项目木覆盖率。抖音团队通过深入研究官方提供的覆盖率测试文档,具体的做法是:
+
+- 将每个测试结果的 `profraw` 文件解析为文本格式的 `profdata` 并且统一路径
+- 合并多个 `profdata` 得到真实的覆盖率数据
+- 使用 `llvm-cov -path-equivalence` 命令完成源码路径的映射
+
+### 🌟 🐕 [Reverse Engineering UIKit to Fix Our Top Crash | PSPDFKit](https://pspdfkit.com/blog/2021/reverse-engineering-uikit/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文是 PSPDFKit 团队通过逆向修复 UIKit bug 的实践经验,分析问题的过程十分详细,值得学习借鉴。
+
+- 崩溃问题定位,Hopper 反汇编。
+- 问题分析,拆解。
+- UIPageViewController 逆向。
+- 通过 swizzling 修复并验证。
+- 复盘总结 Floating-point precision errors are vicious。
+
+### 🐢 [听说你想写个 DNS 服务器 - 代理](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486791&idx=1&sn=2695a508ea45e43527875058ad106e6d&chksm=cf55828ff8220b990eb722b4fb149b8cd424133d05646ea7e369ab4597c1e97503714a6f20dd&token=1722840270&lang=zh_CN#rd)
+[@水水](https://www.xuyanlan.com): 作者用实际代码详细的描述如何编写一个 DNS 服务器的雏形,包括对查询包的解析,然后返回对应的响应包。
+整个流程如下:
+- DNS 服务器开启本地 UDP 服务。
+- 本地 DNS 客户端发起请求。
+- DNS 服务器收到请求后,重新构造请求包,转发到公共 DNS 服务器。
+- 当收到公共 DNS 服务器的结果后,构造响应包,将数据返回给客户端。
+
+系列关联文章 - [听说你想写个 DNS 服务器 - 记录类型扩展](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486727&idx=1&sn=a71ed08275433e15593069e010c31c02&chksm=cf5582cff8220bd96ce28f0dd8874f27064e3999792e6ad25d90a0cf2f56651278495a6927de&token=1722840270&lang=zh_CN&scene=21#wechat_redirect)
+
+### 🐎 [深入浅出贝塞尔曲线](https://juejin.cn/post/6995482699037147166)
+[@Smallfly](https://github.com/iostalks):本文详细介绍了贝塞尔曲线的定义和推导过程,以及 iOS 提供绘制曲线能力的相关类和 API。通过实现波浪动图来展现二阶和三阶贝塞尔曲线的应用。最后还介绍了在已知曲线阶数的前提下,根据起点和终点反向推导控制点的计算过程。强烈推荐不了解贝塞尔曲线实现的同学阅读。
+
+### [Stack Overflow 2021 开发者调查报告出炉,开发浪潮中的变与不变](https://mp.weixin.qq.com/s/E6R3dXGBa4YzzuekxPMgOw)
+
+[@Parsifal](https://github.com/ParsifalC):2021 年 5 月 25 日,Stack Overflow 举办的一年一度的开发者调查重新启动,就在 8 月 2 日,调查结果新鲜出炉,超过 80,000 名开发者参与了调查,JavaScript 连续 9 年获得最常用编程语言冠军,React.js 首次赶超 jQuery 成为最常用的 Web 框架,而 Svelte 后来居上夺得最受欢迎 Web 框架。Rust 连续第 6 年登顶最受喜爱语言,受到超过 86% 开发者的喜爱。我们一起看一看 2021 年,开发者发生了怎样的变化。
+
+## 摸鱼周报
+
+[@摸鱼周报 #22](https://mp.weixin.qq.com/s/JI5mlzX9cYhXJS81k1WE6A):第二十二期摸鱼周报,一起来看下本期概要:
+
+* 本期话题:聊聊 iOS 博客环境,公众号vs掘金。
+* Tips:Reachability 的使用建议,SQL 中 JOIN、UNION 的含义,如何在项目中区分 AdHoc 和 AppStore 包。
+* 面试解析:本期讲解 block 类型的相关知识点。
+* 优秀博客:如何做电量方面的优化,关于 MetricKit 的使用。
+* 学习资料:布朗大学的学生制作的「看见统计」课程;一个 Github 仓库 Hacker Laws,总结各种定律和法则。
+* 一个帮助学习正则表达式的在线工具:regex101。
+
+## 工具
+
+### [mxcl/xcodebuild](https://github.com/mxcl/xcodebuild)
+
+[@红纸](https://github.com/nianran):这是一个基于 Github Actions 的 Action,其作用是帮助开发者去构建签名打出产物包和进行单元测试。其优势在于轻量化的配置方式和 Github Action 完整的自动化体系,只需要一个配置文件即可完成整个配置。如果你的整个持续集成体系是基于 Github Action 的值得进行一试。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#172-2021.08.23.md b/Reports/2021/#172-2021.08.23.md
new file mode 100644
index 000000000..e42886f02
--- /dev/null
+++ b/Reports/2021/#172-2021.08.23.md
@@ -0,0 +1,129 @@
+# 老司机 iOS 周报 #172 | 2021-08-23
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 🌟 [WWDC 21 内参](https://xiaozhuanlan.com/wwdc21)
+
+[@Parsifal](https://github.com/ParsifalC):本周内参更新,4 篇高质量内容已经发布,总更新文章已达 92 篇,实际包含 session 内容超过 100 个~
+
+### [【WWDC21 10012 】App Clip 新特性](https://xiaozhuanlan.com/topic/2048796351)
+
+@昊泽:App Clip 是 WWCD20 的一大亮点,它提供了一种“即时使用”的方式,基于苹果提供的各种唤醒方式,让用户在特定场景下很方便地体验 App 内的核心功能。现在一年过去了,世界各地的开发者开发出了各种优秀的 App Clip。同时 Apple 提供了一种全新的 App Clip Card 的展示方式,也一并完善和优化了本地体验,并提供了命令行工具来帮助开发者们生成轻应用码。 让我们一起来看看吧。
+
+### [【WWDC21 10076】使用 Object Capture 创建 3D 模型](https://xiaozhuanlan.com/topic/8026419753)
+
+@Hays:Apple 自 2017 年推出 ARKit 以来一直在推动增强现实技术在其各个平台上的应用和发展,但 AR 内容的匮乏与高成本一直是制约开发者们投入 AR 的重要因素。在本次 WWDC 上,Apple 将 3D 模型的构建效率提升了到了前所未有的高度,RealityKit 2 框架中的新 Object Capture API 为我们提供了一种非常便捷的方式来为生活中的物体创建 3D 模型,而你需要的仅仅是为目标物拍摄几张照片。此外,配合 AR Quick Look 可以轻松将创建好的模型集成到你的应用之中。
+
+### [【WWDC21 10109】探索 Foundation 新增功能](https://xiaozhuanlan.com/topic/7093142658)
+
+@leejunhui:`Foundation` 作为最核心的系统库之一,今年带来了三大部分的新内容,分别是属性字符串,格式化器以及自动语法协议。这些内容的核心要点都表明 `Apple` 想要摒弃掉 `Objective-C` 时代留下的繁琐的 `API` 以及编程范式。
+
+### [【WWDC21 10153】基于苹果芯片的图像处理](https://xiaozhuanlan.com/topic/5796308412)
+
+@潘名扬:这篇 WWDC 的分享主要介绍了如何针对苹果芯片对图像处理应用进行优化,探索了如何充分发挥 Metal 渲染命令编码器、切片渲染、统一内存架构,以及 memoryless attachments 的优势。在文中的示例里,工程师为我们展示了如何针对苹果 GPU 的 TBDR 架构来降低应用的内存占用,减少能耗。通过本篇分享,你还可以了解到将应用中的图形运算从独立显卡迁移到苹果芯片的最佳实践。
+
+## 新闻
+
+### 🐎 ["同播共享"发布计划的更新](https://developer.apple.com/cn/news/?id=mxaeu6er)
+
+[@zvving](https://github.com/zvving):在最新的 iOS15 developer beta 6 中 SharePlay 被禁用。这意味着 iOS15 正式版发布临近,最初版本不会包含 SharePlay, SharePlay 会在后续更新版本中提供。
+
+在开发 SharePlay、GroupActivities 相关功能的朋友可以从原文下载配置文件确保开发不被中断,同时需要留意近期 App 提交不要包含 GroupActivities 授权配置,等待对应功能放开后再进行提交。
+
+## 文章
+
+### 🌟 🐎 [Making efficient use of the libdispatch (GCD) · GitHub](https://gist.github.com/tclementdev/6af616354912b0347cdf6db159c37057)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文针对 **libdispatch** 总结了很多使用技巧,列举了一些常见的误区。类似各种高效 tips 整合文章,方便大家找到自己不了解的地方深入学习。
+
+### 🐕 [微信跨平台硬件直播组件](https://mp.weixin.qq.com/s/qK73om3ueP_S6i8qp8hgHQ)
+
+[@anotheren](https://github.com/anotheren):微信视频号已提供跨平台硬件直播组件,支持移动平台(iOS/Android)、PC 平台(Windows/macOS)和嵌入式平台(以 Raspberrypi 为例)。文章简要介绍了其解决的问题以及实现的方案。相比传统的移动平台,广大云厂商早已推出了各自的成套解决方案,微信视频号这次应该是奔着相关直播硬件而来,只是不知会擦出怎样的火花。有嵌入式硬件需求,或者在设计直播组件的同学都可以仔细看看。
+
+### 🐕 [Creating Custom Parseable Format Styles in iOS 15](https://emptytheory.com/2021/08/14/creating-custom-parseable-format-styles-in-ios-15/)
+
+[@AidenRao](https://weibo.com/AidenRao):在 iOS 15 之前,为了将数字或日期转换为字符串,你通常需要多行代码,维护一个 Formatter 派生类,编码过程较复杂且不易维护。iOS 15 及更新的版本,不需要任何 Formatter,我们可以在大部分场景,一行代码搞定格式化。
+
+如果需要更灵活的格式化方式,可以自定义新的格式样式,本文实现了一个将简单的电话号码,格式化成标准美国格式电话号码的示例,413555212 → (413) - 555-1212,作为实现参考。
+
+## 摸鱼周报
+
+[@摸鱼周报 #23](https://mp.weixin.qq.com/s/1Vs50Lbo0Z27dnU-ARQ96A):第二十三期摸鱼周报来啦,一起来看下本期概要:
+
+- 话题:本期邀请 CoderStar 聊一下他的公众号和学习方法。
+- Tips:简版 PromiseKit 的设计思路;如何通过 embedded.mobileprovision 区分包类型。
+- 面试模块:isMemberOfClass、 isKindOfClass 的含义与区别。
+- 优秀博客:整理了Swift 指针、Swift 属性包裹器相关的几篇文章。
+- 学习资料:介绍三个机器学习的网站。
+- 开发工具:帮助解析 Shell 脚本的网站:explainshell。
+
+## 工具
+
+### [onefetch](https://github.com/o2sh/onefetch)
+
+[@EyreFree](https://github.com/EyreFree):Onefetch 是一款由 Rust 编写的命令行 Git 信息展示工具,它能够在终端中展示本地 Git 仓库的项目详情和代码统计等内容。使用时不需要网络连接,完全离线可用。它会自动从文本中检测开源许可证,并为用户提供有价值的信息,例如代码分发、pending、依赖数量、主要贡献者、占用磁盘大小、创建日期、代码行数等。Onefetch 可以通过命令行参数进行配置,以准确显示您想要的内容和方式:您可以自定义 ASCII/文本格式、禁用信息行、忽略文件和目录、以多种格式输出(Json、Yaml)等等。有需要的朋友们快试试吧。
+
+### [网页 ipa 一键砸壳](https://www.dumpapp.com)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):iOS 中所有 APP 上传到 APP Store 后都会被加上一层保护壳,如果我们想拿到 IPA 进行研究分析, 需要对 IPA 进行脱壳。这个平台可以实现导出全网 IPA 进行自动脱壳功能,不过有些功能需要付费才能体验。
+
+
+## 代码
+
+### [AnyCodable](https://github.com/Flight-School/AnyCodable)
+
+[@Smallfly](https://github.com/iostalks):[AnyCodable](https://github.com/Flight-School/AnyCodable) 对遵循 `Encodable`, `Decodable` 和 `Codable` 协议的 Model 进行包装,抹掉其具体的类型。当需要在不同模块之间传递数据时,可以使用它实现模块对 Model 的解耦。
+
+
+### [Epoxy - Airbnb 声明式 iOS UI 框架开源啦!](https://mp.weixin.qq.com/s/DQ8avDt3pgMxQcb7p3WkwA)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):[仓库地址](https://github.com/airbnb/epoxy-ios) ,一套完整的 Swift 实现的声明式 UI 框架。Airbnb 团队遇到的问题是:更新页面时,会需要手动操作 indexPath 来进行动画刷新,而操作 indexPath 稍有差错就会导致 crash,同时繁复的计算逻辑可读性也较差。可以回忆下即使使用 IGListKit 这样强大框架的 ListDiffPaths 计算 diff 并刷新列表,也依旧较为复杂,更不用说还需要手动控制动画了。
+
+因此 Airbnb 团队选择了声明式编程,**描述目标 - 让页面更新至最新内容**。
+
+- 一套描述页面渲染内容的语义接口:使用「内容」和「样式」两种类型来描述一个 view,并分别封装在 Content 和 Style 里
+- 搭建能自动更新页面渲染内容的计算框架,使用了 fast O(N) diffing 算法
+- 应用单向数据流,进一步简化数据状态管理,使页面的行为更易理解
+
+同时还提供了如 EpoxyLayoutGroups 、EpoxyPresentations 、EpoxyNavigationController 等组件,提供了 UI 层面的完整方案。
+
+[英文原文](https://medium.com/airbnb-engineering/introducing-epoxy-for-ios-6bf062be1670)
+
+## 赞助者
+
+### flomo 浮墨笔记
+
+新一代卡片笔记,像聊天一样无压力输入,帮你积累知识的复利。还有极简的 API 可打通更多产品。老司机读者专属注册码(可以获得 45 天 PRO 会员):https://flomoapp.com/register2/?Mjk4Njk
+
+### 产品沉思录
+
+一份由少楠& fonter 打理的付费邮件周刊及知识库,创建于 2017 年,累计 3000+ 用户付费订阅。涵盖了产品设计,服务设计,互联网技术,经济学,社会学等领域。我们尽量选择那些半衰期较长的内容,以确保这些知识能跨越时间。欢迎访问我们的免费精选集:https://index.pmthinking.com
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#173-2021.08.30.md b/Reports/2021/#173-2021.08.30.md
new file mode 100644
index 000000000..9ce5b980b
--- /dev/null
+++ b/Reports/2021/#173-2021.08.30.md
@@ -0,0 +1,129 @@
+# 老司机 iOS 周报 #173 | 2021-08-30
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 [Apple 与美国开发者就 App Store 更新达成一致,这些更新将支持开发者业务,并持续为用户带来精彩体验](https://www.apple.com.cn/newsroom/2021/08/apple-us-developers-agree-to-app-store-updates/)
+
+[@Parsifal](https://github.com/ParsifalC):本周我们推送了一则短文 - [IAP 或将不再是唯一支付方式](https://mp.weixin.qq.com/s/vK3ilfP8MqdURooXEDH7kg),文章的主要内容便来自于苹果官方的这则新闻。新闻内容比较多,但最值得我们注意的便是苹果对于 IAP 使用条款的改变。虽然目前并没有明确说明,我们可以直接在应用内使用第三方支付,但从描述上看,苹果已经做出了比较大的改变,从原来不允许引导用户使用其他支付变为了可接受邮件等方式的引导。这些变更起源于美国的开发者群体与苹果的诉讼案,因而所有变更都仍需要那边的法庭最终同意才能正式推行。
+
+## 新手推荐
+
+### 🌟 [重磅首发|闲鱼构建Flutter企业级应用开发电子书新鲜出炉](https://mp.weixin.qq.com/s/DTLgVwUjfORBY5NCd9C-8g)
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 单看标题相信大家已经知道是什么了,没错,咸鱼团队出品的企业级 Flutter 应用开发指导书籍,本书从深度,广度,以及实用性几个方面着手,切合咸鱼项目的实际经验。对于正在学习和需要进阶的同学来说,可谓是不可多得的好资料,关键还免费 😄
+
+## 文章
+
+### 🌟 🐕 [How iOS 15 makes your app launch faster](https://www.emergetools.com/blog/posts/iOS15LaunchTime)
+
+[@Leo](https://github.com/leomobiledeveloper):对于 deployment targe 是 iOS 15 或者 macOS 12 的 App 来说,苹果使用了一种新的二进制格式来存储启动时候需要 bind 和 rebase 的信息。新的格式下 bind 和 rebase 被合并存储在 LC_DYLD_CHAINED_FIXUPS 段,合并后意味着更少的安装包占用,启动时需要的 page fault 也更少,进而提高启动速度。
+
+### 🌟 🐕 [Building a token refresh flow with async/await and Swift Concurrency](https://www.donnywals.com/building-a-token-refresh-flow-with-async-await-and-swift-concurrency/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文简述了如何使用 async/await 和 Swift Concurrency 构建刷新流,并配有流程图和代码示例,方便大家开启实践思路。
+
+- 流程了解
+- **AuthManager** 的实现
+- 网络请求实践
+
+### 🌟 🐕 [Flutter 疑难杂症系列:键盘原理及常见问题解决方案](https://mp.weixin.qq.com/s/snU-mNlmEnOUHw3I-DrJ_w)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):Flutter 的键盘、输入框在双端的实现,大致都是借助 Native 的输入能力,通过 Channel 在 Flutter 和 Native 侧进行数据的同步。具体到 iOS 上,则是通过 FlutterTextInputPlugin 调用到了 Native 的 FlutterTextInputView 上,再调用 becomeFirstResponder 实现键盘弹出。
+
+本文详细介绍了 Flutter 在如何实现:键盘调起之后页面的重绘逻辑、页面收缩动画。同时还列举了一些问题发现以及定位方法,值得细细钻研。其中Android部分机型的问题也有助于我们理解重绘的逻辑,具体如下:
+
+- 锁屏后键盘无法收回
+- Android 键盘动画卡顿
+- iOS 上搜狗输入法长按发送未换行
+- iOS 光标动画使得 CPU 飙升
+- iOS 上键盘收起之后,光标依旧存在
+- iOS12+ 长按系统输入法空格光标卡顿不灵敏
+
+### 🐎 [Why Conditional View Modifiers are a Bad Idea](https://www.objc.io/blog/2021/08/24/conditional-view-modifiers/)
+[@zvving](https://github.com/zvving):SwiftUI 中通过自定义视图修饰符(View Modifiers),能复用项目中的的定制视图逻辑,简化 View 声明代码。但是对于条件视图修饰符,并不像看起来那么美好。
+
+使用条件视图修饰符(Conditional View Modifiers),初始样式一切正常,但是当条件变化时,动画可能并不符合你的预期,状态值也会在条件变化时莫名消失。这本质与 SwiftUI 中 if-else 内部实现有关:条件变化并非修改视图属性,而是对应的不同视图——在条件变化时移除或插入。文章详细解释这些问题背后的成因,相信能帮助你更好的使用 SwiftUI。
+
+### 🐕 [降低 APP 卸载率,测试人员可以做些什么?](https://mp.weixin.qq.com/s/ogiOlV-eXkDFlGEp-pLgMQ)
+
+[@Smallfly](https://github.com/iostalks):随着移动互联网竞争白热化,各大厂商都希望能多抢占一些用户时间,App 的使用体验就变得越来越重要。对于不满足预期的 App,用户很可能会毫不留情的卸载。
+
+闲鱼借鉴了马斯洛人类需求层次结构,从安全性、功能性、稳定性、易用性、愉悦性等五个逐级递增的层次,抽象出 App 用户体验金字塔模型。并介绍了他们在各个层次上做的具体改善措施,分别是:
+* 隐私安全是底座
+* 跳出功能测试“陷阱”
+ * 探索性测试
+ * 新用户视角测试
+ * Bug Bash
+* 重视全链路性能
+* 引入可用性测试
+
+### 🐎 [Deprecating Workarounds](https://www.basbroek.nl/deprecating-workarounds)
+
+[@xiaofei86](https://github.com/xiaofei86):当我们在最新的系统版本遇到 BUG 时,往往直接判断当前版本,并提供将解决方案。这种情况下,如果下一个系统版本仍然存在此问题,就会导致线上 BUG。如果为大于当前版本的系统都应用此解决方案,如果下一个系统版本修复了此问题,那么我们的修复方案也会出现不可预知的情况。
+
+本文提供了一个小 Tips 来更好的处理这种问题。我们定义单独的方法来解决此版本的问题,并将此方法标记为在下个版本废弃,这样我们可以在升级后获得一个编译警告提醒,以便于重新判断此问题是否已经被系统修复。如果没有被修复,就继续在下一个版本提醒,如果被修复就改为在特定版本应用。
+
+## 摸鱼周报
+
+[@摸鱼周报 #24](https://mp.weixin.qq.com/s/vXyD_q5p2WGdoM_YmT-iQg):第二十四期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:跟一位刚入职某一线大厂的同学聊一下最近的面试感受。
+* Tips:设计 OC 版本的 defer 功能;使用现有证书创建 Fastlane match 格式加密文件。
+* 面试模块:离屏渲染相关知识点。
+* 优秀博客:整理了Swift 闭包相关的文章。
+* 学习资料:介绍两个仓库,一个是大家容易读错的开发词汇汇总,一个是微软出品的物联网课程。
+* 开发工具:一款免费开源的跨平台密码管理工具:KeeWeb。
+
+## 代码
+
+### [swift-custom-dump](https://github.com/pointfreeco/swift-custom-dump)
+
+[@Damien](https://github.com/ZengyiMa):swift-custom-dump 库是针对 Swift App 中的数据进行调试、Diff 以及测试功能的工具集合,除此之外还具备了自定义扩展功能,有数据调试需求的同学不妨一试。
+
+### [PreviewView](https://github.com/theoriginalbit/PreviewView)
+
+[@JonyFang](https://github.com/JonyFang):PreviewView 的作用是利用 SwiftUI 预览画布快速制作 UIViewController 和 UIView 原型。有类似需求的同学可以一试~
+
+## 赞助者
+
+### flomo 浮墨笔记
+
+新一代卡片笔记,像聊天一样无压力输入,帮你积累知识的复利。还有极简的 API 可打通更多产品。老司机读者专属注册码(可以获得 45 天 PRO 会员):https://flomoapp.com/register2/?Mjk4Njk
+
+### 产品沉思录
+
+一份由少楠& fonter 打理的付费邮件周刊及知识库,创建于 2017 年,累计 3000+ 用户付费订阅。涵盖了产品设计,服务设计,互联网技术,经济学,社会学等领域。我们尽量选择那些半衰期较长的内容,以确保这些知识能跨越时间。欢迎访问我们的免费精选集:https://index.pmthinking.com
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> 抖音生活服务(上海/成都)招人,Android / iOS / Server 工程师,我们致力于将用户创建内容与用户兴趣相关业务、生活服务连接,通过生活服务带动抖音用户活跃度提升。
+>
+> 简历发送至:fuxiang.666@bytedance.com
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#174-2021.09.06.md b/Reports/2021/#174-2021.09.06.md
new file mode 100644
index 000000000..e149d1285
--- /dev/null
+++ b/Reports/2021/#174-2021.09.06.md
@@ -0,0 +1,127 @@
+# 老司机 iOS 周报 #174 | 2021-09-06
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## Apple 专家一对一
+
+### 🌟 [第二期:探索 iPadOS 技术](https://developer.apple.com/cn/accelerator/)
+
+[@Parsifal](https://github.com/ParsifalC):苹果官方的一对一咨询活动第二期来啦!2021 年 9 月 14 日(下周二)举办主题为 “探索 iPadOS 技术”的在线研讨会。本次面向周报读者免费公开报名,**扫码即可参与**。独一无二的机会,直接向 Apple 的专家学习,**报名截止日 9 月 10 日,名额有限,报满即止**。
+
+
+
+## 新手推荐
+
+### 🐕 [Flutter 里的语法糖解析,知其所然方能潇洒舞剑](https://mp.weixin.qq.com/s/Wi2jJ8KnsSnrV8Dk_eIqDg)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):以往大家都是从官方的介绍文档中认识 dart 的中的 关键字 / 语法糖 的,本文通过 [dump_kernel.dart](https://github.com/dart-lang/sdk/blob/master/pkg/vm/bin/dump_kernel.dart) 解析 dill 二进制执行文件,从编译产物的角度分析了 late 、 typedef 、extension 、 async / await 的具体实现。知道现象的你,如果也对下面的问题有所疑惑,在看了生成后函数就能明白底层是如何实现的。
+
+- 当我们访问 late 声明的对象时,如果对象还没有初始化,为什么会返回一个异常?
+- 使用 typedef 会不会对性能和运行结果产生影响?
+- extension 关键字是如何在原对象基础上实现拓展呢?
+- 为什么我们在外部对一个 Future 进行 try catch 不能捕获异常?
+
+想实操反解 dill 文件的同学可以参照这篇[文章](http://gityuan.com/2019/10/05/dart_vm/#25-%E6%9F%A5%E7%9C%8Bkernel%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F) 进行操作。
+
+## 文章
+
+### 🌟 🐕 [一文读懂字节跳动自研移动研发工具链 MBox](https://mp.weixin.qq.com/s/5_IlQPWnCug_f3SDrnImCw)
+
+[@Barney](https://github.com/BarneyZhaoooo):瓜神曾参与开发的 **Mbox** 终于开源了,文章从现状与问题开篇,详细介绍了 Mbox 诞生的背后思考、架构设计、核心功能、困难与挑战,给业内开发者带来了很好的参考。
+
+### 🐕 [APP 隐私合规](https://mp.weixin.qq.com/s/_RP6EEYfYGJn877tRdXOFA)
+
+[@AidenRao](https://weibo.com/AidenRao):作者公司的 APP 收到通信管理局,关于 APP 侵害用户权益整治专项行动中核查整改问题的通知。整改要求是 10 天内完成对有问题 APP 的整改,并提交整改情况报告。
+
+作者整理了中国网信网关于 APP 违规的认定标准,针对容易出现的违规问题,给出了整改方式建议。
+
+### 🐕 [Reverse engineering a 5 year old Xcode issue](https://swiftrocks.com/reverse-engineering-xcode-issue-crash-symbol)
+
+[@Damien](https://github.com/ZengyiMa):你是否注意到 Xcode 中的 Organizer 中如果不是你本地机器打出的包将无法进行符号解析,作者通过 Hopper 等逆向手段定位到了 DVTAnalytics 框架中的一个 Bug,并且做了对应的修复,好奇是怎么实现的吗?对逆向感兴趣的同学值得一读。
+
+### 🐢 [Swift 与 Objective-C 混编时,我们是如何将编译时间优化了 35%?](https://mp.weixin.qq.com/s/9BpfKhT1tQM_gAUNb2mQLg)
+
+[@Smallfly](https://github.com/iostalks):这篇文章比较长,详细地介绍了 58 同城在 Swift 和 Objective-C 混编过程中,编译速度优化的分析与实践。
+
+Swift 和 OC 混编,要实现 Swift 引用 OC 文件,一种方案是添加桥接文件,另一种是采用 Module 化的方式引用,第一种方案有较高的维护成本,58 采用了第二种。
+
+然而,在尝试 Module 化之后,整体的编译耗时比非 Module 化增加了,这和苹果官方给出的性能数据是不符的。
+
+经过深层次的分析,最终通过 hmap 方案实现了编译耗时优化。对其他 App 的 Module 化有比较好的借鉴意义。
+
+### 🐕 [添加编译警告的另一种方式:clang 开发入门](https://juejin.cn/post/7002999613984768031#heading-6)
+
+[@红纸](https://github.com/nianran):本文是一个 **clang** 插件开发的一个入门开发的实践文章。以检查 if 语句的过度嵌套提示 warning 为目标,对 AST 中 if 节点进行解析,输出 warning。对于没有了解过 clang 插件开发的同学,本文还是比较有意思的文章。
+
+### 🐕 [Core Data with CloudKit (一)](https://www.fatbobman.com/posts/coreDataWithCloudKit-1/)
+
+[@JonyFang](https://github.com/JonyFang):WWDC 2019 Core Data 的更新引入了 `NSPersistentCloudKitContainer`,由此可以便捷的使用 Core Data with CloudKit 来进行多设备数据同步。本篇主要对 Core Data with CloudKit 的基础介绍,内容大概为:
+
+1. Core Data with CloudKit 的局限性
+2. Core Data with CloudKit 的优点
+3. 简介 Core Data 和 CloudKit
+4. Core Data 对象 vs CloudKit 对象、
+
+### 🐢 [Flutter Fish Redux 2.0 架构演进实践](https://mp.weixin.qq.com/s/5LUCFZWts9Q0lUNqtocADQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Fish-Redux 作为 Flutter 状态管理工具已经开源已久,也在大量应用和业务中被验证,特别是咸鱼。但随着业务和场景的复杂度不断增长,在有些场景下显得捉襟见肘,无法很好的满足,于是有了此次架构的演进,致力于解决复杂页面编排,动态 AB 问题,以及提升灵活度。
+
+## 摸鱼周报
+
+[@摸鱼周报 #25](https://mp.weixin.qq.com/s/LLwiEmezRkXHVk66A6GDlQ):第二十五期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:本期跟竹立交流一下关于求职和学习方法的话题。
+* Tips:如何清除启动图的缓存;如何优化 SwiftLint 流程。
+* 面试模块:本期解析一道 GCD 死锁题。
+* 优秀博客:整理了 Swift 泛型相关的几篇文章。
+* 学习资料:Adobe 的调色板网站:Adobe Color Wheel;知识小集的 Tips 汇总:Awesome-tips。
+* 开发工具:管理 Github 项目 Star 的工具:OhMyStar。
+
+## 代码
+
+### [swift-atomics](https://github.com/apple/swift-atomics)
+
+[@Parsifal](https://github.com/ParsifalC):去年 10 月,Apple 正式推出并开源了 swift-atomics,我们可以通过它使用纯 Swift 代码实现高性能的无锁并发数据结构。而近日,swift-atomics 终于发布了 1.0.0 版本,这也意味着 swift-atomics 有了一个正式的稳定版。
+
+延伸:
+- [Introducing Swift Atomics](https://swift.org/blog/swift-atomics/),非常详尽的官方介绍文档。
+- [【译】SE-0282 Low-Level Atomic Operations ⚛︎](https://kemchenj.github.io/2020-10-02/):周报编辑四娘翻译了 swift-atomics 的原始 Proposal,有助于更全面的了解它。
+
+## 赞助者
+
+### flomo 浮墨笔记
+
+新一代卡片笔记,像聊天一样无压力输入,帮你积累知识的复利。还有极简的 API 可打通更多产品。老司机读者专属注册码(可以获得 45 天 PRO 会员):https://flomoapp.com/register2/?Mjk4Njk
+
+### 产品沉思录
+
+一份由少楠& fonter 打理的付费邮件周刊及知识库,创建于 2017 年,累计 3000+ 用户付费订阅。涵盖了产品设计,服务设计,互联网技术,经济学,社会学等领域。我们尽量选择那些半衰期较长的内容,以确保这些知识能跨越时间。欢迎访问我们的免费精选集:https://index.pmthinking.com
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#175-2021.09.13.md b/Reports/2021/#175-2021.09.13.md
new file mode 100644
index 000000000..48a6548f7
--- /dev/null
+++ b/Reports/2021/#175-2021.09.13.md
@@ -0,0 +1,126 @@
+# 老司机 iOS 周报 #175 | 2021-09-13
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [有消息了,找你的。](https://mp.weixin.qq.com/s/FPml7P1RHTc0QBbFb3TKbg)
+
+[@Parsifal](https://github.com/ParsifalC):苹果今年的秋季发布会正式官宣将在北京时间 9 月 15 日凌晨 1 点举行,iPhone 13 和 iPad 9 等主要硬件设备有望悉数登场,另外近年来一直传言的 AR & VR 领域也值得期待是否会在这次有所透露~
+
+## 新手推荐
+
+### 🐕 [灵动的适配器模式 | Flutter 设计模式](https://mp.weixin.qq.com/s/w0msBQnDzkZ4rsL1EtPyVA)
+
+[@邦Ben](https://weibo.com/linwenbang):本文以 Flutter 的角度来说明了 Adapter 模式的用法,如果是 Android 的同学会对这个模式更为熟悉。文中给出了具体的例子,感兴趣的同学可以一看。
+
+## 文章
+
+### 🌟 🐕 [iOS 端容器之 WKWebView 那些事](https://mp.weixin.qq.com/s/39u-48KvO-Fmkn9t0nJ-fA)
+
+[@JonyFang](https://github.com/JonyFang):本文主要总结了阿里在端容器设计开发过程中,WKWebView 使用上遇到的一些经典问题和对应的解决办法,能够为受此类问题困扰的同学提供一些帮助。
+
+主要细述了 3 件事情:
+- WKWebView 使用中的典型问题有哪些?
+- 为什么会出现这些问题?
+- 这些问题的解决办法有哪些?
+
+### 🌟 🐕 [iOS 崩溃日志在线符号化实践](https://mp.weixin.qq.com/s/MIun-eV4_J1hXGDRjGoLaw)
+
+[@Barney](https://github.com/BarneyZhaoooo):由百度 App 技术出品的崩溃符号化实践,从什么是符号化等最基础的概念入手,深入浅出,详细描述了在线符号化落地的全过程。
+
+- 什么是符号化
+- 符号化原理
+- 本地符号化
+- 在线符号化
+- 效果和收益
+
+### 🐢 [iOS 符号解析重构之路](https://mp.weixin.qq.com/s/TVRYXhiOXIsMmXZo9GmEVA)
+
+[@水水](https://www.xuyanlan.com):本文介绍了几种单机解析工具的简单使用,并详细的介绍了字节跳动终端技术的在线符号解析服务的历史方案探索路程,结合最终方案深入的介绍了符号解析原理相关知识。
+读者能够通过此文深入的了解符号解析的原理,也能为正在搭建符号解析平台的读者提供参考。
+
+> WWDC 21 内参中的 [iOS 符号化:基础与进阶](https://mp.weixin.qq.com/s?__biz=MzI2NTAxMzg2MA==&mid=2247491945&idx=1&sn=0d320492230940db88e34887dee96b76&chksm=eaa17e62ddd6f7747acf2fa6d86a9cf4aaf8e0ba6fd18a9d374b1ffcfbc1ca2e1a65c2cf9cc5&token=1941754559&lang=zh_CN#rd) 一文也值得大家学习。
+
+### 🐕 [再探ARC,Autoreleasepool,NSString— —由一场直播 OOM 引发的故事](https://mp.weixin.qq.com/s/oU9DWR4OP8DMp6smMhIxZg)
+
+我们在日常的开发中,可能不会过多的关注内存的问题,因为 ARC 通常可以帮我们避免 99% 的内存泄漏问题,但是,ARC 毕竟不是万能的,对于剩下的 1% 内存问题,却可能造成很大的影响。快手最近就遇到了一个由 NSString 引发 的OOM 问题,本文详细回顾了问题的原因以及如果定位和解决的。
+
+### 🐕 [在 SwiftUI 中使用 UIKit 视图](https://mp.weixin.qq.com/s/QEDd9cIHi3lk0O63fc-ApQ)
+
+[@zvving](https://github.com/zvving):SwiftUI 组件与细节功能日益完善,而实际项目中,但仍有大量的事情需要基于 UIKit 实现。如何封装 UIKit 组件,使其可以在 SwiftUI 中应用,怎样提供 SwiftUI 风格的调用方式,选择不同方案时又要注意哪些问题?本文从二者生命周期的不同出发,再通过实际代码带你了解 SwiftUI 使用 UIKit 的具体过程。
+
+> 来自作者自荐:[@东坡肘子](https://www.fatbobman.com/)
+
+### 🐕 [一个 JavaScriptCore 框架中对象与 Timer 引发的死锁问题内幕](https://mp.weixin.qq.com/s/ywYj886iVoU3OvcV4pAC6g)
+
+[@Smallfly](https://github.com/iostalks):本文来自快手大前端团队,介绍了一个 Main Thread 与 JSC Heap Collector Thread 互相等待发生的死锁问题,并分享了相应的解决方案。其中详细的描述分析、验证、解决问题的过程,有不错的参考价值。
+
+### 🐕 [Preventing Data Races Using Actors in Swift](https://swiftsenpai.com/swift/actor-prevent-data-race/)
+
+[@享耳先森](https://github.com/iblacksun):数据竞争一直是并行编程下的难点,其往往难以检测与解决。本文先介绍了数据竞争的的基础,再介绍 Swift 5.5 引入的 Actor 如何优雅的解决这个问题。
+
+### 🐢 [Flutter 多引擎支持 PlatformView 以及线程合并解决方案](https://mp.weixin.qq.com/s/6aW9vbithMWTOJ_PGniQTA)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):在多引擎使用 Flutter 时,会遇到一些问题,本文详述了使用 PlatformView 时遇到的问题。解决了 ``普通多引擎``与``轻量化多引擎`` 情况下 Platform Task Runner 与 GPU Task Runner (Raster Task Runner) 合并的问题,并以 PR 的方式合入了 Flutter 主分支。其中对源码的讲解十分有价值,有助于大家理解 engine 层的四大 Task Runner 是如何工作的。
+同时本文还介绍了给 Flutter 提 PR 时的一些步骤与经验。
+
+### 🐎 [ARC 下还有 __NSStackBlock__ 吗](https://dengweijun.com/arc-nsstackblock-31c0c1d493974db5bd7f278dd20e223a)
+
+[@J_Knight_](https://github.com/knightsj):在 ARC 下,block 在赋值给强引用时会被复制到堆上,成为 __NSMallocBlock__ 类型的 block。本文作者结合代码介绍了如何在 ARC 下生成 __NSStackBlock__ 类型的 block 的方法,以及相关的 llvm 相关的在这方面做的优化。
+
+## 摸鱼周报
+
+[@摸鱼周报 #26](https://mp.weixin.qq.com/s/PnUZLoyKr8i_smi0H-pQgQ):第二十六期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:跟熊大聊一下独立开发和音视频开发。
+* Tips:对节流和防抖的再讨论;关于 TestFlight 外部测试的一些介绍。
+* 面试模块:本期解析 KVO 的实现原理。
+* 优秀博客:收录了一些 RxSwift 相关的文章。
+* 学习资料:靛青早期写的 RxSwift 学习教程。
+* 开发工具:公众号文章同步工具 Wechatsync。
+
+## 代码
+
+### [URLServiceRouter](https://github.com/lightank/URLServiceRouter)
+
+[@EyreFree](https://github.com/EyreFree):URLServiceRouter 是一个用 Swift 语言开发的基于 URL 的路由分发库,由一个高自由度的 nodeTree 和 RPC 来实现,可使开发者在 App 中很方便地实现诸如测试环境和生产环境切换之类的工作。
+
+## 赞助者
+
+### flomo 浮墨笔记
+
+新一代卡片笔记,像聊天一样无压力输入,帮你积累知识的复利。还有极简的 API 可打通更多产品。老司机读者专属注册码(可以获得 45 天 PRO 会员):https://flomoapp.com/register2/?Mjk4Njk
+
+### 产品沉思录
+
+一份由少楠& fonter 打理的付费邮件周刊及知识库,创建于 2017 年,累计 3000+ 用户付费订阅。涵盖了产品设计,服务设计,互联网技术,经济学,社会学等领域。我们尽量选择那些半衰期较长的内容,以确保这些知识能跨越时间。欢迎访问我们的免费精选集:https://index.pmthinking.com
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#176-2021.09.27.md b/Reports/2021/#176-2021.09.27.md
new file mode 100644
index 000000000..de17600de
--- /dev/null
+++ b/Reports/2021/#176-2021.09.27.md
@@ -0,0 +1,138 @@
+# 老司机 iOS 周报 #176 | 2021-09-27
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 🌟 通知
+
+[@Parsifal](https://github.com/ParsifalC):国庆长假即将到来,周报也将进入短暂休刊,**下一期发布时间将会是 10.18 号**,提前祝大家长假愉快~
+
+## 新闻
+
+### 🌟 得物技术 iOS 专场线下沙龙一期圆满结束
+
+[@Parsifal](https://github.com/ParsifalC):9.25 日上周六,我们在上海与得物技术一起联合主办了 iOS 专场沙龙活动。我们邀请到了 4 位嘉宾前来分享。他们分别来自于得物技术、字节跳动和阿里巴巴团队,主题涵盖 《得物 iOS 工程演进之路》、《字节跳动自研移动研发工具链 MBox》、《视频特效揭秘》和《基于 MNN 的移动端人工智能实践》。大家的参与热情远超我们预期,甚至现场还临时开了一个分会场,感谢所有人的支持~**活动相关的 PPT 和视频等资料我们正在整理之中,一切就绪之后便会在周报公众号及时发布。**
+
+### 🌟 [Back-deploy concurrency 已合并在 Swift 5.5 Release](https://github.com/apple/swift/pull/39342)
+
+[@Parsifal](https://github.com/ParsifalC):Swift Concurrency 的向后兼容的提案已于近日被 merge 进 Swift 5.5 的发布分支中,这就意味着 Concurrency 特性并不是 iOS 15 独有了,我们最低可在 iOS 13 中使用该特性。各平台最低支持版本为 macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0。值得一提的是,微信目前最低支持 iOS 11,按目前迭代速度最迟 23 年,将很可能提到 iOS 13+。
+
+> 由 [LeeCenY](https://github.com/LeeCenY) 推荐收录
+
+### [Flutter 2.5 版本发布](https://medium.com/flutter/whats-new-in-flutter-2-5-6f080c3f3dc)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 官方 9 月 9 日正式发布了 2.5 版本,本次版本关闭了 4600 多个 issues,同时包含了诸多性能和工具上的优化,当然也有一些组件及插件上的更新:
+
+- 性能优化
+ - 光栅化提升,时间缩减了 2/3
+ - UI isolate 事件循环策略优化,帧处理现在优先于处理其他异步事件
+ - GC 提升,使得未被使用图像内存能被及时回收
+ - 消息通道性能提升 50%
+ - Flutter 构建适配 Apple Silicon M1
+ - Dart 2.14, 新的语言格式化和特性,以及 lint
+
+- Widget 更新
+ - Android 全屏模式适配
+ - Float Action 更新
+ - ListView 底部和滚动条优化
+ - ScrollMetricNotification
+ - Android 设备上相机使用增强
+
+- DevTools
+ - 事件追踪能力增强
+ - 卡顿诊断加强
+ - CPU Flame 增强
+ - Widget Inspector 组件信息更加详细
+
+### [App Store 现已开放 iOS 15 和 iPadOS 15 app 提交](https://developer.apple.com/cn/news/?id=f87q5n2j)
+
+[@Parsifal](https://github.com/ParsifalC):9 月 14 日起 App Store Connect 已经开放 iOS 15 和 iPadOS 15 App 的提交,同时苹果宣布自 2022 年 4 月起,所有提交至 App Store 的 iOS 和 iPadOS app 都必须使用 Xcode 13 和 iOS 15 SDK 构建。
+
+## 文章
+
+### 🌟 🐢 [Cube 技术解读 | 支付宝新一代动态化技术架构与选型综述](https://mp.weixin.qq.com/s/UaQUkdTboYGU0_VYiAooVw)
+[@Kyo](https://github.com/KyoLi):许多人期待已久的支付宝动态化方案 `Cube` 终于公开了,相比较于 Weex 或者 Flutter 这些跨平台方案,`Cube` 更加轻量级一些,尤其在首页卡片这类应用场景下非常适用。实际上,笔者个人也认为,在很多业务场景,这种自研的轻量跨平台动态化方案,其实是更好的选择,可以在技术上更加自主可控。本文是系列文章的第一篇,从项目背景、整体架构、应用场景上做了说明,期待后续的文章。
+
+### 🌟 🐢 [企业微信超大型工程-跨全平台UI框架最佳实践](https://mp.weixin.qq.com/s/JdQmgQ57nWQM99JW_ueFVg)
+[@折腾范儿_唯敬](https://www.weibo.com/agvicking/home?wvr=5):企业微信这次给我们带来了他们在 Flutter 跨平台方面的深度探索。企业微信自身的特点是大量业务逻辑已经抽离为 C++ 的跨平台模块,但各端的 UI 依然还是独立的代码与框架,因此他们对 Flutter 的诉求上定位相当的清晰,那就是“跨平台的UI渲染”。本文重点从,native 与 Flutter 的混合栈开发模式,到单引擎/多引擎的复杂交互实现。从 Flutter 与 native 与 c++ 的通信通道建设,到 Flutter 的性能与体验优化。同时还展现了企业微信庞大的 Flutter 一系列开发提效工具链,非常的实用也非常的强大。最后文章末尾稍微提了一些他们在 Flutter 动态化方面的探索,只是写的非常浅,而且也是基于别的 DSL/Layout 框架,本质上已经脱离了 Flutter 这个整体框架,单独借用其渲染模块,对 Flutter 动态化有兴趣的读者,更推荐深入去了解他们在文中提到的另外 2 种具体框架的动态化实践
+
+### 🐕 [Xcode 13 Release Notes](https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes)
+
+[@Smallfly](https://github.com/iostalks):本周 Xcode 13 正式版发布,包含 iOS 15,iPadOS 15,tvOS 15,watchOS 8 以及 macOS Big Sur 11.3 SDK。Xcode 13 需在 macOS 11.3 及以上版本运行,支持 iOS 9,tvOS 9,watchOS 2 及以上系统设备调试。
+
+本次更新包含 Swift、Clang、Linking 等二十几个模块的新特性,建议阅读原文了解全貌。
+
+> 另外特别说明一下,Xcode 13 正式支持了 Vim,Vim 党奔走相告。
+
+### 🐕 [The difference between Thread.sleep() and Task.sleep()](https://trycombine.com/posts/thread-task-sleep/)
+
+[@anotheren](https://github.com/anotheren):线程的休眠与任务的休眠,正如它们名字的字面意思。`Thread.sleep()` 是一个旧方法,来自 `Foundation`,它会在指定的时间内卡住线程(CPU无法响应其他工作);`Task.sleep()` 是全新的 async 方法,来自 `Swift Concurrency`,它只会让当前的 Task 暂停/休眠指定时间,而不是阻止线程,CPU 可以继续其他任务。更详细的对比与案例,请阅读原文。
+
+### 🐕 [Linting vs Formatting: A Swift Guide Part 1](https://jasonzurita.com/linting-and-formatting-swift-part-1/) [Part 2](https://jasonzurita.com/linting-and-formatting-swift-part-2/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):Part 1 对 Linting 与 Formatting 的概念进行了明确,举个例子:Linting 包含 检查函数的圈复杂度、强制拆包等,Formatting 包含 code style 等。Part 2 推荐了一些工具如 [tailor](https://github.com/sleekbyte/tailor)、 [SwiftLint](https://github.com/realm/SwiftLint) 等,并介绍了这些工具在 PR 或 CI 中的最佳实践。
+
+### 🐕 [关于 Swift Package Manager 的一些经验分享](https://mp.weixin.qq.com/s/s2GZ13PVdVa5t-SABArtdA)
+
+[@四娘](https://kemchenj.github.io/):这是一篇来自字节跳动团队的 SPM 经验分享,介绍了 SPM 基本的使用方式,团队内部的实践经验,常见问题以及与 Cocoapods 的对比。
+
+### 🚧🐕 [迁往 Swift 5.5 Concurrency 之路:重构方式的选择](https://imtx.me/blog/migrate-to-swift-5-5-concurrency-choices-of-refactor-method/)
+
+[@极速男孩](https://github.com/ztlyyznf001/):苹果在 Swift 5.5 中加入了 Concurrency 的支持,最早在 iOS 15 上支持,但是最近苹果完成了 Back-Deploy 的开发支持 iOS 13 以上的系统。本文主要介绍了如何用 Xcode 中的 Refactor 工具将你的老的回调方法迁移到 async await 方法中去。
+
+### 🐕 [Alibaba iOS 工程架构腐化治理实践](https://mp.weixin.qq.com/s/gS9yC4HUWxi0vkjQPdo5tw)
+
+[@红纸](https://github.com/nianran):本文为作者在工程架构上的腐化治理实践,其主要问题是初期没有明确的项目规范导致工程环境混杂,出现一系列的蝴蝶效应:头文件都添加到了 search path -> import 没规范 -> 模块依赖没有补全 -> 循环依赖,模块强耦合 -> 子项目没办法打包 -> Swift 没办法进行。
+
+面对这样一个混杂的工程环境,作者从依赖树开始着手分析,四象限分层治理模块和依赖。利用自动化脚本,分析模块依赖关系、补全模块间依赖、自动生成 umbrella 头文件、修改不规范头文件等等来对腐化的工程进行整治。光治理还不够,为了防止项目继续腐化,在构建流水线末端设置构建卡口,设置规则防止不合规的代码继续产生。
+
+### 🐎 [你真的了解符号化么?](https://mp.weixin.qq.com/s/6Odq8JTYXL0bA8xyWEO1Og)
+
+[@Jimq](https://github.com/waz0820):周报第 175 期推介了两篇关于符号化的文章,分别来自字节和百度,本篇文章来自搜狐,可以对照着一起看。字节文侧重于符号化的在线解析,针对在 Linux 服务器上规模化部署的痛点,对最终方案的实现原理、解析流程中每个节点的具体实现进行了深入讲解。百度文本地符号化与线上符号化并重,内容比较全面。本文侧重于 macOS 上的本地符号化,详细列举了相关参数、流程和工具,更加规整实用,方便开发者个人快速上手及日后查阅。
+
+## 摸鱼周报
+
+[@摸鱼周报 #27](https://mp.weixin.qq.com/s/WvctY6OG1joJez2g6owroA):第二十七期摸鱼周报来啦,一起来看下本期概要:
+
+* 访谈内容:跟 RunsCode 聊聊编程和兴趣爱好,以及如何在 1min 之内复原魔方😏。
+* Tips:iOS 识别虚拟定位调研;使用 App Store Connect API Key 解决 Fastlane 双重验证问题。
+* 面试模块:KVC 取值和赋值过程的工作原理。
+* 优秀博客:关于 Combine 的相关文章推荐。
+* 学习资料:阮一峰最新发布的 C 语言入门教程,GitHub 漫游指南。
+* 开发工具:Xcode 工程管理工具 XcodeProjects。
+
+## 代码
+
+### [ScriptWidget](https://github.com/everettjf/ScriptWidget)
+
+[@JonyFang](https://github.com/JonyFang):ScriptWidget 开源了,使用 React JSX 样式的代码产生 iOS 上的小组件,repo 目前仅支持了 iOS,也是 SwiftUI 动态化生成界面的雏形。
+
+## 赞助者
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#177-2021.10.18.md b/Reports/2021/#177-2021.10.18.md
new file mode 100644
index 000000000..1ee9530dc
--- /dev/null
+++ b/Reports/2021/#177-2021.10.18.md
@@ -0,0 +1,132 @@
+# 老司机 iOS 周报 #177 | 2021-10-18
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 [王炸候场中,19 号等你来。](https://mp.weixin.qq.com/s/5k9_up9CdWHVF5J8zzKSHg)
+
+[@Parsifal](https://github.com/ParsifalC):北京时间 10 月 19 日凌晨 1 点,也就是明天凌晨,苹果将举办新一期的硬件发布会。市场预期苹果将会发布 M1X 的 MacBook Pro,考虑换代的朋友们可以准备起来了~
+
+## 新手推荐
+
+### 🐕 [从《虾票票》带你入门 iOS 系列](https://mp.weixin.qq.com/s/lj1zYvVitD6v7z0gjl13qg)
+
+[@享耳先森](https://github.com/iblacksun):这是 [Bo2SS](https://bo2ss.ml) 在公众号连载的系列文章,适合想从零入门 iOS 的同学,建议和 Apple 的教程一起阅读,目前连载到第四篇:
+- [从《虾票票》带你入门 iOS(1)—— 定位与目标](https://mp.weixin.qq.com/s?__biz=Mzg3MzU3ODIxNg==&mid=2247484201&idx=1&sn=bbc328b36d7bcd5737d6508dcc2a03b2&chksm=cedca8aef9ab21b8bb10a5cc04e349c58b257e6a24886255c19373dac7265bd0dc7356f82636&scene=178&cur_album_id=1755942094336000006#rd)
+- [从《虾票票》带你入门 iOS(2)—— iOS 简史与工程创建](https://mp.weixin.qq.com/s?__biz=Mzg3MzU3ODIxNg==&mid=2247484230&idx=1&sn=5570b91784500b2da61e7779d095a302&chksm=cedca8c1f9ab21d72ed3368e9613e25a385ae37ff1840834f6ef5ddd24caeff4ffb2700ff153&scene=178&cur_album_id=1755942094336000006#rd)
+- [从《虾票票》带你入门 iOS(3)—— iOS 常用 UI 组件](https://mp.weixin.qq.com/s/lj1zYvVitD6v7z0gjl13qg)
+- [从《虾票票》带你入门 iOS(4)—— 调试](https://mp.weixin.qq.com/s?__biz=Mzg3MzU3ODIxNg==&mid=2247484371&idx=1&sn=2f1e8cb8f074114ed548f4da3bc9f77d&chksm=cedca854f9ab2142ad67c2a76ab2774fb26f6fbf14bddedaef093eff753016983b84022de47c&scene=178&cur_album_id=2056906778021298177#rd)
+
+> 自荐人 [Bo2SS](https://bo2ss.ml)
+
+## 文章
+
+### 🌟 🐢 [Telegram-iOS 源码导读](https://hubo.dev/2020-05-07-source-code-walkthrough-of-telegram-ios-part-1/)
+
+[@AidenRao](https://weibo.com/AidenRao):Telegram 是市场上最受欢迎的即时通讯工具之一,其 MAU 已突破 5 亿。大多数 Telegram 客户端应用程序都是开源的,以证明其安全性,这是一系列关于 Telegram-iOS 源码的文章。
+
+该代码库展示了它对其他 iOS 工程师,会遇到的许多实际工程问题的解决方案。例如可靠的网络、安全存储、复杂的列表 UI、对系统控制器的自定义等。
+
+基础:
+[Telegram-iOS: Part 1](https://hubo.dev/2020-05-07-source-code-walkthrough-of-telegram-ios-part-1/),[Telegram-iOS: Part 2](https://hubo.dev/2020-05-11-source-code-walkthrough-of-telegram-ios-part-2/),[Telegram-iOS: Part 3](https://hubo.dev/2020-05-15-source-code-walkthrough-of-telegram-ios-part-3/)
+
+协议:
+[Telegram-iOS Part 4: MTProto Connections](https://hubo.dev/2020-06-05-source-code-walkthrough-of-telegram-ios-part-4/)
+
+UI 架构:
+[Telegram-iOS Part 5: AsyncDisplayKit](https://hubo.dev/2020-06-14-source-code-walkthrough-of-telegram-ios-part-5/),[Telegram-iOS Part 6: Bubbles](https://hubo.dev/2020-06-22-source-code-walkthrough-of-telegram-ios-part-6/)
+
+内容消费:
+[Telegram-iOS Part-7: Link Preview and Instant View](https://hubo.dev/2020-07-12-source-code-walkthrough-of-telegram-ios-part-7/)
+
+> 由 [0x1306a94](https://github.com/0x1306a94) 推荐收录
+
+### 🌟 🐕 [AttributedString——不仅仅让文字更漂亮](https://mp.weixin.qq.com/s/4P8hX7WoBUeUtvBOS4Tx7g)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文从四个方面介绍了 WWDC 2021 上公布的新功能 AttributedString。
+
+- **AttributedString vs NSAttributedString** 对比
+- **基础用法**
+- **本地化**
+- **Markdown 解析**
+
+### 🐎 [Swift-DocC is Now Open Source](https://swift.org/blog/swift-docc/)
+[@Smallfly](https://github.com/iostalks):WWDC21 苹果发布了一款新的 Swift 文档编译器 Swift-DocC,它能更高效的把代码注释生成文档,以及为代码库生成综合性的在线文档。它的文档 API 支持 Markdown 格式的注释和长文,甚至能够集成图片。
+
+Swift-DocC 被集成在 Xcode 13 的工具链中,帮助用户在代码中写出更详细的文档。现在苹果宣布 Swift-DocC 正式开源了,阅读原文可了解更多特性和用法。
+
+### 🐎 [Apple documentation | canOpenURL:](https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc)
+
+[@J_Knight_](https://github.com/knightsj):来自苹果官方文档:在 iOS 15后,限制了 LSApplicationQueriesSchemes 数量最多为50个。详情可以见文档中的内容。
+
+> 推荐阅读:[LSApplicationQueriesSchemes](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/plist/info/LSApplicationQueriesSchemes)
+
+### 🐕 [The Mysterious CodableWithConfiguration Protocol](https://www.andyibanez.com/posts/the-mysterious-codablewithconfiguration-protocol/)
+
+[@xiaofei86](https://github.com/xiaofei86):每年苹果都会在 WWDC 为我们带来许多新的 API,但那些不是 “big things” 的更新并不会在 Session 中提及。本篇文章将为你介绍一个有趣新接口 —— CodableWithConfiguration。
+
+如果你已经知道如何使用 Codable,那么你可以非常快速地开始使用这个新的 API。CodableWithConfiguration 允许你做与普通 Codable 完全相同的事情 —— 对来自不同格式的对象进行序列化,例如 JSON。
+
+但 CodableWithConfiguration 允许我们将自定义的配置对象注入可编码类型的编解码过程。你可以根据配置灵活地控制编解码过程,例如:有选择地解码或编码一些键,或者转换它们。这打开了一个充满可能性和更整洁代码的世界,阅读原文了解更多的使用场景。
+
+### 🐎 [Faster Builds with Code Signing Hacks](https://eisel.me/signing)
+
+[@老峰](https://github.com/gesantung):Code Sign 是为数不多的增量构建与 Clean 构建所需的时间一样的耗时操作之一,而且应用程序的规模越大,需要的时间也越长。本文介绍了在 Debug 环境下通过配置签名算法、签名规则等技巧,加快 Code Sign 速度,提升构建效率的轻量方案。
+
+## 摸鱼周报
+
+[@摸鱼周报 #29](https://mp.weixin.qq.com/s/TVBQgYuycelGBwTaCSfmxQ):第二十九期摸鱼周报来啦,一起来看下本期概要:
+
+* Tips:关于低电量模式的一些介绍。
+* 面试模块:Objective-C 的消息机制(下)。
+* 优秀博客:整理了几篇 Swift Tips 的文章。
+* 学习资料:gitmoji:一个 GitHub 提交信息的 emoji 指南😎。
+* 开发工具:能够使用 Swift 开发安卓应用的工具:SCADE;可视化解析 `.ndjson` 文件的工具:Privacy-Insight。
+
+本期访谈内容独立成篇了,介绍一位拿下微软 iOS 岗位 Offer 的朋友准备和面试的经历,完整内容可以查看:[人物访谈--微软Offer之路](https://mp.weixin.qq.com/s/nh9Rr7lFMy49bEUMWQO3-g)
+
+## 工具
+
+### [tuist](https://tuist.io)
+
+[@红纸](https://github.com/ninaran):Tuist 是一个命令行工具,其旨在 Xcode 项目的生成、维护和交互。其采用了清单格式来描述项目(使用 Swift 编写),可以彻底解决 xcode 项目文件的代码冲突问题。支持 Cocoapods、Carthage、SPM。
+
+## 代码
+
+### [swift-markdown](https://github.com/apple/swift-markdown)
+
+[@Parsifal](https://github.com/ParsifalC):苹果官方开源的 Markdown 工具,基于 Swift 编写,参考的是 GitHub 风格解析器。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#178-2021.10.25.md b/Reports/2021/#178-2021.10.25.md
new file mode 100644
index 000000000..6e4dea057
--- /dev/null
+++ b/Reports/2021/#178-2021.10.25.md
@@ -0,0 +1,107 @@
+# 老司机 iOS 周报 #178 | 2021-10-25
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 [Tech Talks 2021](https://developer.apple.com/cn/tech-talks/)
+
+[@老峰](https://github.com/Gesantung):苹果上周宣布启动开发者参与的全新在线系列演讲 [Tech Talks 2021](https://developer.apple.com/cn/tech-talks/),包括 100 多场直播和超过 1500 小时的会谈时间,将在接下来的 8 周内展开。Tech Talks 将使开发者们有机会直接与 Apple 专家交流,深入了解新技术、解决疑难杂症以及相关指南与工具的理解,同时也包括分享他们在开发 App 与在 App Store 分发 App 的经验。[Tech Talks 2021](https://developer.apple.com/cn/tech-talks/) 面向 Apple 开发者计划和 Apple 开发者企业计划的现有成员开放,报名已开启,每两周会发布新演讲与会谈时间预约。关于日程和报名的信息,可访问 [Tech Talks 2021](https://developer.apple.com/cn/tech-talks/),感兴趣的 iOSer 快去报名吧~
+
+## 文章
+
+### 🌟 🐕 [Flutter 难点问题之 GPU 后台 Crash](https://mp.weixin.qq.com/s/KVux8rYCPXcvDODUskinBQ)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文介绍了后台访问 GPU 导致 App 后台被杀的修复方案。通过在主线程接收 App 退到后台的通知(退到后台即表示 GPU 不可用),并设置一个 bool 变量,在实际渲染的线程中根据 bool 变量,来进行分支处理:GPU 可用时照常使用 GPU 渲染;GPU 不可用时降级用 CPU 渲染。一般使用 SyncSwitch 时,语义都带 ``GpuDisabled`` ,因此 SetIfTrue 中才是 CPU 渲染的降级调用。
+
+同时本文还介绍了通过 ``xxx_impl.h`` 来暴露方法,既免去了解决过多头文件的担心,也得以使改动通过单元测试。
+
+### 🌟 🐕 [探究 iOS 编码对包大小的影响](https://juejin.cn/post/7015861914370736136)
+
+[@JonyFang](https://github.com/JonyFang):文中以分析属性为例子,从二进制文件层来分析编码对包大小的影响。介绍了属性、方法调用、函数调用、direct 方法调用、block 调用在汇编下的区别,能让我们对编写的代码在汇编时的表现有大概的认知。推荐阅读~
+
+### 🐎 [MetalKit.org 总结:What’s new in Metal at WWDC21](https://metalkit.org/2021/06/18/whats-new-in-metal-at-wwdc21/)
+
+[@莲叔](https://github.com/aaaron7):WWDC2021 Apple 发布了一系列激动人心的新的 Metal Feature。本篇文章的作者从用 Metal 来实现光线跟踪的各个环节的关键技术为例,说明了一系列新的 API 的使用场景和作用,比如 intersection query、Bindless 等新的 API 机制,以及 Xcode 针对光线跟踪的调试器,能够可视化算法中的许多关键信息。文章整体比较专业,不太适合新手观看,对于图形图像有开发经验的同学可以研究一下。
+
+### 🐎 [macOS 上 Flutter Desktop 与 Electron 的性能对比](https://mp.weixin.qq.com/s/uTHi8SfCvXJfbie1A1YNVA)
+
+[@Damien](https://github.com/ZengyiMa):Electron 和 Flutter Desktop 是当下最流行的 2 种跨端方案,本文分别从应用大小、运行效率、渲染机制、内存、帧数、CPU/GPU 等方面做了详细的对比。对 2 者的比较感兴趣的同学不妨一读。
+
+### 🐕 [微信终端自研 C++ 协程框架的设计与实现](https://mp.weixin.qq.com/s/c17DaD7JbKlDFT6J8haEFw)
+
+[@老驴](https://weibo.com/u/6090610445):微信客户端团队自研了一套跨平台 C++ 协程框架:owl(然而还没有开源)。文中微信团队解释了为什么需要重复造轮子,以及在设计过程中对语法,堆栈,调度,并发的一些思考。文章中干货不少,适合开发底层框架的同学阅读学习。(还是催一下,啥时候开源哈)
+
+### 🐕 [干货:探秘 WKWebView](https://mp.weixin.qq.com/s/l9D4V0ON3uJ0HfsJ7bpJiQ)
+
+[@享耳先森](https://github.com/iblacksun):讲 `WKWebView` 应用的文章之前推过不少,这篇算是最全的了,基本包含了使用层的方方面面,特别是缓存及 `Cookie` 机制,建议阅读。
+
+### 🐢 [SwiftUI by Example](https://jaywcjlove.gitee.io/swiftui-example/)
+
+[@kemchenj](https://kemchenj.github.io/):SwiftUI 示例,技巧和技术集合,可以帮助我们构建应用程序,解决常见问题以及了解 SwiftUI 的实际工作方式。
+
+这个网站翻译自 [hackingwithswift.com](https://www.hackingwithswift.com/quick-start/swiftui),内容所有实例都是在 macOS Big Sur 系统上运行,基于 Xcode 12.4 开发。
+
+> 由 [lijianfeigeek](https://github.com/lijianfeigeek) 推荐收录。
+
+## 摸鱼周报
+
+[@摸鱼周报 #30](https://mp.weixin.qq.com/s/KNyIcOKGfY5Ok-oSQqLs6w):不知不觉已经到第三十期摸鱼周报了,来看下这期内容概要:
+
+* Tips:分享 WKWebView 几个不常用的特性。
+* 面试模块:一道 Tagged Pointer 相关题目。
+* 优秀博客:本期博客整理了 Codable 在一些特殊场景的处理方式,Swift 处理 JSON 解析时的一些技术细节。
+* 学习资料:Xcode Build Settings 的参数说明网站;来自 Microsoft 的 Data Science 基础课程。
+* 开发工具:免费且开源的 Coding 时间追踪工具:wakapi。
+
+本期访谈对象是一位学习能力很强的在校生,可以通过这篇文章对他进行一定的了解:[人物访谈|一位在校生的 iOS 之路](https://mp.weixin.qq.com/s/9Z7-8trqc7MmIlrjHqbtsA)
+
+## 代码
+
+### [Apple Store 库存监控助手](https://github.com/Sunnyyoung/AppleReserver)
+
+[@anotheren](https://github.com/anotheren):今年没有抢到 iPhone 13 Pro 首发,并决定等到双十一的同学可能有点郁闷,不仅价格没啥变化,库存还异常紧张。如果你的城市有 Apple Store,那么预约线下取货也是快速拿到新手机的靠谱方式。这是一个线下门店放货监控的脚本工具,同时工具本身也使用 Swift 编写,同样是个学习的案例。
+
+### 🐢 [Dflat: Structured Data Store for Mobile](https://github.com/liuliu/dflat)
+
+[@zvving](https://github.com/zvving):对于复杂应用,结构化数据的持久存储一直是值得反复讨论的命题。CoreData、Realm、WCDB、FMDB 各自有不同的设计权衡和适用场景,Dflat 这个崭新的库尝试带来一些不同的思考与探索:
+
+- 使用 Swift 从头开始构建,充分利用语言定义类型(Struct、Enum 等),提供带有类型检查的查询、Combine 订阅等现代特性,更适合单向数据流的编程模型
+- 数据获取均为不可变数据类型,对并发/同步编程、数据传递有着良好的支持,支持 多写/多读 or 单写/多读 模式
+- 引入 [FlatBuffers](https://halfrost.com/flatbuffers_schema/) 生成 Swift 模型代码(with [Bazel](https://bazel.build/)),方案在序列化、内存占用等方面有明显优势,常规应用场景的性能对比也[明显优于](https://dflat.io/benchmark/)传统 DB 方案
+- 存储方案目前基于 SQLite,设计上兼容切换不同存储方案
+
+项目虽在早期阶段,文档规划清晰,非常值得提前了解学习:[官方文档](https://dflat.io/)。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#179-2021.11.01.md b/Reports/2021/#179-2021.11.01.md
new file mode 100644
index 000000000..440579957
--- /dev/null
+++ b/Reports/2021/#179-2021.11.01.md
@@ -0,0 +1,107 @@
+# 老司机 iOS 周报 #179 | 2021-11-01
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [App 内活动正式开放](https://developer.apple.com/cn/news/?id=zghdvfza)
+
+[@Parsifal](https://github.com/ParsifalC):WWDC 21 中提到的 App 内活动于 10 月 27 日正式开放了。需要注意的是,要开始相关操作,**帐户持有人需要在 App Store Connect 里加入新版 App Store 提交体验**。您将能够体验更多功能,包括在一次提交中包含多至 10 个活动、**不使用新的 App 版本即可提交活动**等。创建活动后,App Store 中进入对应 App 的主页后就会弹出该活动卡片,并允许分享至社交平台,后续苹果也会继续迭代优化 App 内活动的运营数据等功能。
+
+### [TestFlight 公开链接名额管理策略调整](https://developer.apple.com/cn/testflight/)
+
+[@Parsifal](https://github.com/ParsifalC):TestFlight 是苹果官方提供的内测平台,苹果也一直在优化它的使用体验。最近一次比较大的更新或许是 2019 年推出的公开链接,也自那个时候开始,国内也越来越多的厂家采用了 TestFlight 进行内测。按照 TestFlight 的使用文档,开发者可以通过公开链接提供 10000 个名额给内测用户。以往在实际使用中,部分开发者都会通过删除已经接受邀请的用户来释放名额,从而突破 10000 额度的限制。但最近,苹果似乎调整了这一策略。经过测试,目前单个 App 的 10000 个额度将会锁定在 90 日以内不变,也就是说不管是通过新建测试组、更新 build,还是通过删除已邀请用户或手动过期 build 等等这些方式,均不能释放 10000 以内的名额。
+
+## 文章
+
+### 🌟 🐕 [iOS 性能检测新方式 - AnimationHitches](https://mp.weixin.qq.com/s/SQgxvBztLQFZ6QV43iN2Vg)
+
+[@JonyFang](https://github.com/JonyFang):本篇主要介绍了 RenderLoop 及新的一帧展现给用户的整个流程。着眼于什么是卡顿,及它的两种类型:提交卡顿和渲染卡顿,最终定义了卡顿时间比,用以测量当前 App 的卡顿程度和性能。本篇可以带着读者对整个渲染循环和卡顿类型有更清晰的认识,日常编码中也可以尽量避免这些问题。
+
+### 🌟 🐕 [58 同城 iOS 混编项目无用代码检测方案介绍](https://mp.weixin.qq.com/s/RU8jhQJ_LSFEJcZX3bXmLg)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了混编项目无用代码检测在 58 的实践步骤和心得,已开源。
+
+- **混编项目无用代码检测的几种手段**
+* OC 和 Swift 各自的实现
+- 遇到的困难
+
+### 🐎 [苹果官方 “隐私洞见” 来了](https://mp.weixin.qq.com/s/jo9sb2AfrnzZWpDDuqJnCw)
+
+[@Smallfly](https://github.com/iostalks):苹果在 iOS 15.2 测试版中引入了应用隐私报告,旨在向用户提供已开启隐私权限的应用被获取敏感信息的频率。其中包括位置、联系人、相机、麦克风和照片等信息。
+
+Apple 还会记录应用程序在后台访问了哪些域名,这个功能可以说让偷窥应用无处遁形。
+
+通过如下方式可以启用隐私报告:
+* 打开 **设置** 应用程序
+* 进入 **隐私** 页面,滑到底部
+* 点击 **应用隐私报** 告,打开「应用隐私报告」页面
+* 点击 **打开应用隐私报告**
+
+### 🐢 🚧 [iOS 隱私與便利的前世今生](https://medium.com/zrealm-ios-dev/ios-隱私與便利的前世今生-9a05f632eba0)
+
+本文综述性的介绍了从 iOS 7 到 15 Apple 在隐私方面做的持续改进:这些改进背后的原因以及对用户来说有什么好处?
+
+> 推荐人 [zhgchgli0718](https://github.com/zhgchgli0718)
+
+### 🐕 [干货 | 携程 APP Native/RN 内嵌 Flutter UI 混合开发实践和探索](https://mp.weixin.qq.com/s/yqChBHJ_QEpjuGYdIJsVzg)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):携程当前 Flutter 的使用占比逐步提高,而老页面的技术栈还有 Native 或者 RN,因此做出了混栈的尝试。RN 嵌套 Flutter 的具体实现,其他资料相对较少,方案较为原始,仅供参考。相对于 RN 底层还是原生控件,Native 与 Flutter 交互还有很多细节值得研究。
+
+携程团队当前的选择可能基于历史负担,但个人还是不推荐同时维护三种技术栈,新项目选型更是不可取:内存问题与开发成本都将逐步不可控。可以观察携程团队的后续的取舍。
+
+### 🐕 [【译】 Flutter 延迟加载组件 【包体积优化 | 动态化】](https://juejin.cn/post/6970870114316976142)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi):Flutter 2.2 带来了很多新的功能,其中就有一个大家期待已久的功能: 按需加载「Deferred Components」。 这一特性可以让我们将 Flutter 产物拆分为多个组件,并在需要时再进行下载。 借助于这一特性,官方 Gallery 演示程序安装时的大小压缩了 46% (200KB 的代码和 43MB 的资源减少)本文向大家介绍,如何使用延迟加载功能。遗憾的是,该功能只能在 Android 平台使用,iOS 上不可用 😄。
+
+## 摸鱼周报
+
+[@摸鱼周报 #31](https://mp.weixin.qq.com/s/DQpsOw90UsRg6A5WDyT_pg):第三十一期周报来啦,从本期开始周报里面会尝试加入一些 Apple 最近公布的相关活动介绍。
+
+* 本期话题:关于 In-App Events 的一些介绍。
+* Tips:优化 Xcode 增量编译的几个小技巧。
+* 面试模块:一道 RunLoop 相关题目。
+* 优秀博客:本期博客主题是 Swift 的高级中间语言:SIL。
+* 学习资料:raywenderlich 新出的 Flutter 教程;一份认知者偏差手册。
+* 开发工具:一个终端命令补全工具:fig。
+
+## 工具
+
+### [Aquarius](https://github.com/CrazyFanFan/Aquarius/blob/master/README_CN.md)
+
+[@红纸](https://github.com/nianran): Aquarius 是一个解析 Podfile.lock 的 GUI 工具,输出相比于 [cocoapods-graph](https://github.com/erickjung/cocoapods-graph) 的图输出更加友好(依赖数量、依赖关系等),其使用 SwiftUI 进行编写,开发者可以定制自己的各种需求~
+
+> 推荐人:[lijianfeigeek](https://github.com/lijianfeigeek)
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#180-2021.11.08.md b/Reports/2021/#180-2021.11.08.md
new file mode 100644
index 000000000..d637de599
--- /dev/null
+++ b/Reports/2021/#180-2021.11.08.md
@@ -0,0 +1,123 @@
+# 老司机 iOS 周报 #180 | 2021-11-08
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [macOS 版 TestFlight 正式发布](https://developer.apple.com/cn/news/?id=0bemba6j)
+
+[@Parsifal](https://github.com/ParsifalC):TestFlight 正式支持 macOS 应用 分发了,规则总体与 iOS 版 TestFlight 差不多,总共 10000 个测试名额,支持分组等功能。另外,由于 Mac Catalyst 的存在,在 macOS 的 TestFlight 上体验 iOS App 的或许也会是一项新的分发尝试方向。
+
+## 新手推荐
+
+### 🌟 🐕 [GitHub - twostraws/Unwrap: Learn Swift interactively on your iPhone.](https://github.com/twostraws/Unwrap)
+
+[@Barney](https://github.com/BarneyZhaoooo):Unwrap 是一款开源的 Swift 应用程序,可以通过 100 节核心课程,或是运行代码进行实践,来更高效快速的学习 Swift。
+
+### 🐕 [Xcode 中代码注释编写小技巧](https://juejin.cn/post/7020590213361565726)
+
+[@老峰](https://github.com/gesantung):写好注释是每一个程序员的一个基本素养,本文介绍了使用 Xcode 为 Objective-C&Swift 代码添加以及修改注释的小技巧。
+
+## 文章
+
+### [Flutter 图片库高燃新登场](https://mp.weixin.qq.com/s/TdTGK21S-Yd3aD-yZDoYyQ)
+
+[@邦Ben](https://weibo.com/linwenbang):看这篇之前可以先看下[闲鱼Flutter图片框架架构演进(超详细)](https://mp.weixin.qq.com/s?__biz=MzU4MDUxOTI5NA==&mid=2247485142&idx=1&sn=b416f1d0c8f3fd2077075441154df090&scene=21#wechat_redirect),了解一下闲鱼之前对图片的一些优化,逐步递进更容易理解,闲鱼在基于原有的外接纹理优化的前提,继续尝试了 dart:ffi 的方式进行优化(dart:ffi 提供了同步调用 native c++ 层的能力,因为是直接调用,因此性能高于常规的 channel 调用),闲鱼通过外接纹理和 ffi 组合使用的方式,进一步优化了:
+
+- 支持加载 ui.image,特殊场景可以使用
+- 支持预加载
+- 新增纹理缓存,统一图片缓存
+- 支持模拟器
+- 完善自定义图片类型通道
+- 完善的异常捕获与收集
+- 支持动图
+
+结论:
+- Texture 适用于日常场景,优先选择;
+- FFI 更适用于:
+ - flutter <= 1.23.0-18.1.pre 版本中,在模拟器上显示图片
+ - 获取 ui.Image 图片数据
+ - flutter 侧解码,解码前的数据拷贝影响较小
+
+关于开源:
+目前还没开源,文中说计划12月底开源,可以期待一下
+
+参考链接:
+- [dart:ffi 官方文档](https://dart.dev/guides/libraries/c-interop)
+
+
+### 🐎 [工程实践 | 在 Flutter 中实现一个精准的滑动埋点](https://mp.weixin.qq.com/s/Q0HLJdqeRcYg6GKQQWq4CQ)
+
+[@Damien](https://github.com/ZengyiMa):埋点,为了对行为特征的数据进行量化分析、优化产品,我们常常需要在特定的时机上报数据埋点,而滑动埋点曝光埋点则是其中的一个高频使用场景。本文将会提供在 Flutter 中如何实现自动滑动曝光埋点实现思路,对此领域感兴趣的同学可以详细阅读此文章。
+
+### 🐕 [Introducing Swift Distributed Actors](https://www.swift.org/blog/distributed-actors/)
+
+[@xiaofei86](https://github.com/xiaofei86):Actor 模型是一种适用性非常好的通用并发编程模型。它不仅可以应用于共享内存架构,更适合应用于分布式内存架构,解决地理分布型的问题。如今,Swift on Server 生态也迎来了 [Swift Distributed Actors](https://github.com/apple/swift-distributed-actors/),一个面向服务器的完整集群库,用于即将推出的 Distributed Actors 语言功能。
+
+Distributed Actors 是 Swift 并发模型演变的下一步,本文除了介绍这项新特性外,也通过 [SwiftNIO](https://github.com/apple/swift-nio)、[Swift Service Discovery](https://swift.org/blog/swift-service-discovery/)、[Swift Cluster Membership](https://swift.org/blog/swift-cluster-membership/) 等 Swift 生态搭建具备服务通信、服务发现等功能的服务集群 Demo 做功能演示。感兴趣的同学可以阅读原文持续关注。
+
+### 🐕 [Flutter PlatformView 在闲鱼直播业务中的实践](https://mp.weixin.qq.com/s/u-nYmDm6doIMBoh8cTDzlQ)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):咸鱼直播的场景是 Flutter 套全屏的 Native 组件(通过全屏的 PlatformView ),特点是处于页面最上层且背景透明。需要解决“点击透明区域的时候让下层响应,点击非透明区域时 PlatformView 自己响应”的问题。
+
+文章首先介绍了 PlatformView 的实现原理,即:通过 DelayingGestureRecognizer 延迟其他手势的响应,并将消息处理转发至 Flutter,遵循 Flutter 内部的优先级处理机制;如果应该由 PlatformView 响应,则由 ForwardingGestureRecognizer 进行转发,走熟悉的 iOS 手势处理。
+
+因此咸鱼直播选择:在点击非透明区域时,在禁用 PlatformView 的两个手势,走 Native 手势处理;点击透明区域时,恢复 PlatformView 的两个手势,走 Flutter 内部处理。由此解决了全屏 PlatformView 的交互问题,有较大的借鉴意义。
+
+同时,即使实际开发中不会选择这么使用 PlatformView,对 PlatformView 的源码剖析也很值得一读。
+
+## 摸鱼周报
+
+[@摸鱼周报 #32](https://mp.weixin.qq.com/s/6CyL0B6Zkf6KXRrfocohoQ):第三十二期摸鱼周报来啦,一起看下本期内容概要:
+
+* 话题:Mac 版 TestFlight 已经上线。
+* Tips:介绍了关于中间层的一些概念,前后端之间的现状以及需要解决的问题等。
+* 面试模块:能否向编译后的类增加实例变量?能否向运行时动态创建的类增加实例变量?为什么?
+* 博客主题:Swift 关键字。
+* 学习资料:来自字节跳动的 OKR 学习网站;一个关于 SwiftUI 的 Cheat Sheet —— Fucking SwiftUI。
+* 开发工具:一个允许你在 App Store 上搜索 iOS 应用程序并下载应用程序包的命令行工具 —— ipatool。
+
+## 工具
+
+### [PillowTalk - iOS/Lite](https://github.com/Co2333/mobilePillowTalkLite)
+
+[@极速男孩](https://github.com/ztlyyznf001):一个使用 SwiftUI 编写的在 iOS 上对 linux 中的 RPC 服务进行监控的工具。
+
+## 音视频
+
+### 🐢 [5G,华为,土耳其——我花了两个月,搞懂了5G背后的秘密](https://www.bilibili.com/video/BV1fq4y1g7hq)
+
+[@zvving](https://github.com/zvving):5G 技术中的极化码是一个非常复杂的通信概念,UP 主作为一个『通信小白』,暴肝三个月,梳理信息论、信道容量、香农极限诸多知识,在此基础上介绍极化码及其背后的故事。视频是在讲解 5G 技术,更是表述刨根问底、用平和心态长期坚持的科研精神,分享给每一位有好奇心的朋友们。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#181-2021.11.15.md b/Reports/2021/#181-2021.11.15.md
new file mode 100644
index 000000000..e09da305d
--- /dev/null
+++ b/Reports/2021/#181-2021.11.15.md
@@ -0,0 +1,103 @@
+# 老司机 iOS 周报 #181 | 2021-11-15
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [针对在线多人活动的 app 内购买项目规定提醒](https://developer.apple.com/cn/news/?id=yeyd5xuh)
+
+[@Parsifal](https://github.com/ParsifalC):在多次推迟**在线多人活动 (一对几和一对多的实时服务体验)实行 IAP 制度**后,苹果终于决定正式实施了。在 2022 年起,若你的 App 存在在线多人活动的功能而又不是使用 IAP 进行支付的话,苹果将会予以拒绝。值得注意的是,仅在两个人之间提供实时一对一服务体验 (例如,学生辅导、医疗咨询、看房服务或健身训练) 的 app,则允许使用 app 内购买项目以外的购买方式。
+
+### [年末假期接受 app 提交](https://developer.apple.com/cn/news/?id=y4fgrhhe)
+
+[@Parsifal](https://github.com/ParsifalC):往年这个时候,苹果总是开始提醒开发者将会在圣诞节等假日期间停止接受 App Store Connect 审核,而近期苹果宣布了 App Store Connect 这次不放假!但同时,苹果也提醒开发者,在 11 月 24 日至 28 日以及 12 月 23 日至 27 日期间,完成审核可能需时较长。
+
+## 新手推荐
+
+### 🌟 🐕 [Understanding how and when SwiftUI decides to redraw views](https://www.donnywals.com/understanding-how-and-when-swiftui-decides-to-redraw-views/)
+
+[@JonyFang](https://github.com/JonyFang):SwiftUI 的使用逐渐普遍起来,本篇从实例出发深入分析了 SwiftUI 视图重绘的方式及时间节点,结合重绘的原理,可以在后续开发里更巧妙的发挥 SwiftUI 的优势。
+
+## 文章
+
+### 🐕 [What Is a Deprecated API on iOS?](https://pspdfkit.com/blog/2021/what-is-a-deprecated-api-on-ios/)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):iOS SDK 包含大量的类、方法和其他接口,其中每一个都可以称为应用程序编程接口 (API),所有这些 API 共同构成了 iOS SDK 的 API。那么 Apple 是如何随着时间发展弃用其中的 API 呢?
+
+- 介绍 API
+- Apple 意识到 API 存在问题,它被标记为已弃用但继续工作,引入替代 API
+- 之后,Apple 宣布将删除该 API
+- 之后,API 被删除
+
+当 API 被弃用时,这意味着 Apple 不建议使用该 API,但该 API(几乎总是)仍然有效,弃用可能意味着 Apple 打算在未来的某个时候删除 API,并提供较长的过渡期。API 演进是在改进 API 和维护现有应用程序兼容性之间的平衡。
+
+### 🐕 [闲鱼唤端的背后](https://mp.weixin.qq.com/s/MQ2XlroLF6vhM7qP1H-tBQ)
+
+[@享耳先森](https://github.com/iblacksun):如果你的 App 非常重运营,那么你一定非常想知道在每个运营活动中,带来多少新用户或日活,本文介绍了闲鱼 App 是如何做跨 App 启动以及所见即所得的。所见即所得依赖各端统一的数据上报与解析逻辑。
+
+### 🐎 [Dangerous Logging in Swift](https://indiestack.com/2021/10/dangerous-logging-in-swift/)
+
+[@Damien](https://github.com/ZengyiMa):你在 Swift 中使用 NSLog 你是否会遇到 Crash 的场景呢?本文作者通过自己的代码中的转义引发 Swift 中使用 NSLog 的 Crash 问题为背景,深入的研究了 Swift 中使用 NSLog 的崩溃风险。感兴趣的同学不妨一读。
+
+### 🐎 [聊聊__attribute__这个关键字吧~](https://mp.weixin.qq.com/s/FTC-IYVCqzGU-00nj5bVfw)
+[@Smallfly](https://github.com/iostalks):本文通过实践探索了 `__attribute__` 关键字在不同参数下的作用,能够帮助读者多维度地了解该关键字的使用场景。
+
+### 🐎 [端智能助力西瓜视频业务实践](https://mp.weixin.qq.com/s/qiVCG2ME8ppzia34txN9Rw)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文详细分析了在预加载视频的场景中``规则预测``的局限后,选择了``模型预测``。并基于业务场景与安全合规的考虑,放弃常规的云智能,选择了端智能的方案,最后获得了巨大的业务收益。其中对于场景的剖析和特征处理值得借鉴,另外可以看出 Pitaya 这套框架的完成度还是不错的,动态下发算法包以及对应的监控都较为完善。
+
+### 🐢 [Core Image Tutorial for iOS: Custom Filters](https://www.raywenderlich.com/25658084-core-image-tutorial-for-ios-custom-filters)
+
+[@anotheren](https://github.com/anotheren):来自 raywenderlich 的 Core Image 自定义 Filter 教程。本文介绍了使用 Metal Shading Language 来创建自定义 CIKernel、应用滤镜的、以及如何 Debug 的详细流程,有图片/视频处理需求的小伙伴可以尝试一下。
+
+### 🐕 [狐友iOS客户端埋点的前世今生](https://mp.weixin.qq.com/s/be4knvdFsMpykNKVSBnGwA)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文以**狐友**iOS客户端埋点的实践为例子,向大家介绍了不同的埋点实现方案及一些问题总结。
+
+- **认识埋点**
+* **客户端埋点实现**
+- **实践过程中遇到的问题**
+
+## 摸鱼周报
+
+[@摸鱼周报 #33](https://mp.weixin.qq.com/s/nznnGmBsqsrWcvZ4XFMttg):第三十三期摸鱼周报来啦,一起看下本期概要:
+
+* 话题:感恩节和圣诞节期间 AppStore 将正常接受审核。
+* Tips:使用 os_signpost 标记函数执行和测量函数耗时;混编|将 Objective-C typedef NSString 作为 String 桥接到 Swift 中。
+* 面试模块:LeetCode - #1 Two Sum。
+* 优秀博客:本期为大家整理了一些关于图像识别框架 Vision 的文章。
+* 学习资料:Vue Color Avatar,一个纯前端实现的头像生成网站;一篇全面介绍 WebKit 和 Gecko 内部操作的入门文章。
+* 开发工具:swiftenv。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#182-2021.11.22.md b/Reports/2021/#182-2021.11.22.md
new file mode 100644
index 000000000..c37547bc0
--- /dev/null
+++ b/Reports/2021/#182-2021.11.22.md
@@ -0,0 +1,137 @@
+# 老司机 iOS 周报 #182 | 2021-11-22
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 [Tech Talks 2021 - 中文专场](https://developer.apple.com/cn/tech-talks/)
+
+[@Parsifal](https://github.com/ParsifalC):新一批的 Apple Tech Talks 2021 中文专场来了,本次更新了 5 个专题,欢迎大家扫码报名~
+
+- [为 ProMotion 屏幕进行优化(普通话)](https://developer.apple.com/events/tech-talks/dashboard/6SJQVA7UR3/dashboard)
+- [核心设计原则(普通话)](https://developer.apple.com/events/tech-talks/dashboard/BPMX7VDZB3/dashboard)
+- [提升游戏手柄的支持(普通话)](https://developer.apple.com/events/tech-talks/dashboard/3Y7S665W96/dashboard)
+- [充分利用 App Review 流程(普通话)](https://developer.apple.com/events/tech-talks/dashboard/SF7CY9GMFR/dashboard)
+- [在您的app中为 Center Stage 和 Video Effects 添加控制 (普通话)](https://developer.apple.com/events/tech-talks/dashboard/U3JA83J3D3/dashboard)
+
+
+
+### [Apple 宣布将推出自助维修计划](https://www.apple.com.cn/newsroom/2021/11/apple-announces-self-service-repair/)
+
+[@Parsifal](https://github.com/ParsifalC):未来我们可以直接从官方购买零件和工具进行自己维修设备啦!苹果近期宣布将推出自助维修计划,首先将会在明年初于美国率先试运行,而后逐步推广至其他国家。这对于平常喜欢自己动手拆机而又不想从网上到处找靠谱零件的朋友无疑是一个福音,如果未来推出的零件价格合适,相信很多朋友都会尝试自助维修了~
+
+### [新版 Flutter 中文开发者网站发布](https://mp.weixin.qq.com/s/JOm2-TBh4m3nJZKWbfjoug)
+
+[@Parsifal](https://github.com/ParsifalC):2021 年 Google 开发者大会 (Google Developer Summit) 于近日顺利举办,包含众多最新 Google 技术产品更新的线上演讲,干货满满。大会上发布了新版 Flutter 中文开发者网站和 DartPad。
+
+## 新手推荐
+
+### 🐎 [Swift Playgrounds App Projects](https://skyaaron.com/posts/swiftpm-app-projects/)
+
+[@老峰](https://https://github.com/gesantung):Swift Playgrounds 是由苹果公司在 2016 年 6 月 14 日苹果全球开发者大会 WWDC 上发布的 Swift 编程语言学习 App。上周 Apple 发布了 Xcode 13.2 Beta1 带来了 Swift Playgrounds 4,它提供了新的 *.swiftpm 格式可以与 Xcode 兼容;支持 UIKit 的完整 API,支持 Swift Package Manager,支持 Objective-C、C 和 C++,对 Swift Playgrounds 4 感兴趣的新手朋友推荐尝试。
+
+## 文章
+
+### 🌟 🐢 [从野指针探测到对iOS 15 bind 的探索](https://mp.weixin.qq.com/s/jNiRinGYeV3LiF5Zjt-x0w)
+
+[@J_Knight_](https://github.com/knightsj):本文从野指针的探测这一问题展开,介绍了 bind 流程的机制,以及它在 iOS 15下的改动。同时也介绍了 fishhook 的工作流程以及其他 2种 hook C 函数的方案,同时也讲解了 LC_DYLD_INFO_ONLY 以及 LC_DYLD_CHAINED_FIXUPS 的机制。
+
+### 🌟 🐕 [美团外卖终端容器无关化研发框架](https://tech.meituan.com/2021/11/11/meituan-waimai-containerless-framework.html)
+
+[@JonyFang](https://github.com/JonyFang):美团外卖研发了一款终端容器无关化框架 - React2X,与服务无关化(Serverless)的概念类似,即在保持顶层业务研发语言不变更的情况下,在下层可以兼容性地升级、替换终端容器的能力,让用户无需关心终端容器的运维,只要将精力聚焦到业务逻辑上。React2X 解决了业务需求在多端容器需要重复开发的难题,通过代码复用实现开发提效,实现了几个目标:
+
+- 解决公司内部多终端容器开发痛点,统一开发规范,抹平开发差异,并提供对其他容器的扩展能力;
+- 建设跨容器动态化能力,可以解决美团外卖业务客户端发版限制和小程序包大小限制的问题,帮助业务实现快速发版上线以及线上问题热修复的能力;
+- 建设容器无关的开发生态体系,解决的容器差异性,统一的技术生态能力建设,为多终端容器开发场景提升生产和运维效率。
+
+### 🐎 [分享我成为 GDE(Google 开发者专家)的经历](https://mp.weixin.qq.com/s/14TpW7-EqZ_6XO1vYRnhiQ)
+
+[@老驴](https://weibo.com/u/6090610445):Google 开发者专家是 Google 给积极推广 Google 技术的开发者和布道者颁发的认证。最近几年因为有国内开发者积极参与推广,所以得到了越来越多人的关注。本文的作者 AlexV525 就在最近获得了 Flutter GDE 的认证。 Alex 分享了自己从申请到面试的全过程。有兴趣想拓展自己在开发者圈影响力的同学们也可以试试 GDE。
+
+### 🐎 [Flutter 多插件本地化问题](https://mp.weixin.qq.com/s?__biz=Mzg4MjU2Mzc1MQ==&mid=2247486934&idx=1&sn=b1f809e93ffcf0ab051b0862c1f8eb03&chksm=cf55821ef8220b085333ffc8622f17cdec599bf53c0b95cfe1a50f901b85d778316a1feb7e39&token=290590453&lang=zh_CN#rd)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):作者在多插件开发的过程中,发现使用 Flutter intl 插件来自动生成本地化代码后,最终展示的文案不符合预期。在研究源码后发现是共用了一个 messageLookup 对象导致,并提供了能自动化解决的[脚本](https://github.com/silan-liu/flutter_app_localization/blob/main/scripts/intl.rb),有同样需要本地化开发的同学可以借鉴。
+
+> 由本文作者 [summer-liu](https://https://github.com/silan-liu) 推荐收录。
+
+### 🐕 [Introducing XCRemoteCache: The iOS Remote Caching Tool that Cut Our Clean Build Times by 70% : Spotify Engineering](https://engineering.atspotify.com/2021/11/16/introducing-xcremotecache-the-ios-remote-caching-tool-that-cut-our-clean-build-times-by-70/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了 Spotify 的 **XCRemoteCache** 实践,如标题所说,效果显著。
+
+- 背景
+- 原理分析
+- 如何在工程中集成 XCRemoteCache
+
+### 🐎 [How to use Github Copilot with Swift using Visual Studio Code?](https://antran.app/2021/github_copilot_swift/)
+
+[@Smallfly](https://github.com/iostalks):[Github Copilot](https://copilot.github.com/) 是一款人工智能编程伴侣,它能根据输入的上下文代码或注释,「智能化」地生成代码段,支持主流的一些编辑器,但不支持 Xcode。
+
+本文介绍了如何在 Visual Studio Code 中支持使用 Github Copilot 生成 Swift 代码的流程。
+
+## 摸鱼周报
+
+[@摸鱼周报 #34](https://mp.weixin.qq.com/s/P0HjLDCIM3T-hAgQFjO1mg):第三十四期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:Apple 宣布推出自助维修计划。
+* Tips:混编|NS_SWIFT_NAME。
+* 面试模块:二叉树的三序遍历。
+* 优秀博客:几个 Swift 三方库的解析文章。
+* 学习资料:棒棒彬·技术参考周刊。
+* 开发工具:Mounty:一个在 macOS 下以读写模式重新挂载写保护的 NTFS 卷的免费的小工具。
+
+本期摸鱼周报的访谈系列邀请的是一位参加过 WWDC 的同学,因为是 17 年,还是线下,所以有很多有趣好玩的事情。看完全内容可以点击这里:[人物访谈 | 一位参加过 WWDC 的 iOSer](https://mp.weixin.qq.com/s/5Z8n2bFPbZlG3R0MgqdGDQ)
+
+## 工具
+
+### [SwagGen](https://github.com/yonaskolb/SwagGen)
+
+[@AidenRao](https://weibo.com/AidenRao):SwagGen 是一个库和命令行工具,用于解析和生成 OpenAPI/Swagger 3.0 规范的代码,完全用 Swift 编写。
+
+[OpenAPI 规范](https://github.com/fishead/OpenAPI-Specification/blob/master/versions/3.0.0.zhCN.md)(OAS),是定义一个标准的、与具体编程语言无关的 RESTful API 的规范。OpenAPI 规范使得人类和计算机都能在“不接触任何程序源代码和文档、不监控网络通信”的情况下理解一个服务的作用。如果您在定义您的 API 时做的很好,那么使用 API 的人就能非常轻松地理解您提供的 API 并与之交互了。
+
+如果您遵循 OpenAPI 规范来定义您的 API,那么您就可以用文档生成工具来展示您的 API,用代码生成工具来自动生成各种编程语言的服务器端和客户端的代码,用自动测试工具进行测试等等。
+
+## 代码
+
+### 🌟 [SwiftTreeSitter](https://github.com/ChimeHQ/SwiftTreeSitter)
+
+[@四娘](https://kemchenj.github.io):语法高亮的实现一直困扰着 GitHub/Atom 的工程师,网页和编辑器并不像 IDE 那样,它们没有完整的上下文,它们不了解每个单词背后代表着的是变量还是函数。
+
+除此之外,性能也是一个问题,传统的多次正则匹配会让性能变得很差,而且不支持增量解析,这意味着每次敲下一个字编辑器都需要重新完整地解析一次,这对于大文件来说尤其致命。
+
+TreeSitter 就是为了在这个场景下更好地进行词法分析的一个解析器,输入文件就可以输出 AST,它真正地实现了词法解析,支持增量解析,支持多语法的解析,例如 html 里的 javascript 和 css 也可以被正确解析,目前 GitHub 已经在线上启用了很长一段时间。
+
+这个项目是 TreeSitter 的 Swift Binding,让我们可以使用 Swift 去调用 TreeSitter 的相关功能。另外,对于 Tree-sitter 感兴趣的同学也可以看一下[他们的工程师在某个技术大会上的演讲介绍](https://www.youtube.com/watch?v=Jes3bD6P0To)。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#183-2021.11.29.md b/Reports/2021/#183-2021.11.29.md
new file mode 100644
index 000000000..2eef467f7
--- /dev/null
+++ b/Reports/2021/#183-2021.11.29.md
@@ -0,0 +1,109 @@
+# 老司机 iOS 周报 #183 | 2021-11-29
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐕 [用苹果官方 API 实现 iOS 备忘录的扫描文稿功能](https://www.fatbobman.com/posts/docScaner/)
+
+[@anotheren](https://github.com/anotheren):iOS 系统自带的备忘录看似简单,实则功能强大。本文来自一位独立开发者,使用系统 API 尝试重现备忘录的扫描文稿功能。其主要使用了 VisionKit、Vision、NaturalLanguage、CoreSpotlight 等系统框架,推荐一读。
+
+### 🐕 [Flutter 实现完美的双向聊天列表效果,滑动列表的知识点](https://mp.weixin.qq.com/s/LfsYzXv4GomyIbLysb-eNg)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): IM 列表算是 Scrollable 视图比较常见的一个需求场景,本文从原理层面教你如何正确的使用 Flutter 开发一个 IM 滑动列表, 请仔细阅读 Center 讲解那块,非常干哟 😄
+
+### 🐢 [干货 | 聊聊移动端安全加固](https://mp.weixin.qq.com/s/yCB2R8QPWNp2lJrQD4l_hw)
+
+如今,我国智能手机用户达到 12 亿,移动端的安全问题也被各大家开始广泛关注,比如我们熟知的反编译、注入攻击、设备篡改等手段严重威胁到了用户的数据安全以及公司的利益。本文从 iOS 平台着手,介绍了在 iOS 上如何进行安全加固,了解一些这方面的知识,即使不做安全这一块,也有助于我们更好理解系统的运行,以及写出更安全的代码。
+
+### 🐕 [如何系统性治理 iOS 稳定性问题](https://mp.weixin.qq.com/s/M6dekf2_jbpkZqArPx7wgA)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文主要从以下四个章节介绍了 iOS 稳定性治理在字节的实践,并结合了很多线上问题排查经验来加以解释,深入浅出,干货满满。
+
+- 稳定性问题分类
+- 稳定性问题治理的方法论
+- 疑难问题归因
+- 总结回顾
+
+### 🐕 [百度 APP 移动研发平台及 DevOps 实践](https://mp.weixin.qq.com/s/XHv5NiEgKwt_shRyJQodhw)
+
+[@Smallfly](https://github.com/iostalks):随着移动开发团队规模和业务规模不断增长,研发效率和质量都会受到挑战。百度 App 移动研发平台 Tekes 提供一站式服务,极大地提高了研发团队的交付效率。本文主要介绍了 Tekes 的核心功能,以及实现原理。
+
+Tekes 经过多年的演进,目前主要包括三个大的功能:
+
+1. 自动化研发流程
+2. 组件和 App 的防劣化
+3. 全局知识库
+
+### 🐕 [Flutter 实现动态化更新 - 技术预研](https://juejin.cn/post/7033708048321347615)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):作者调研了市面上开源的三套 Flutter 动态化方案,以及相对通用的 webview 增强、UI 库模版化,共五套方案。在维护难度、学习成本、迁移成本等多个角度比较了各个方案的优劣,是一份详尽的调研结论,如果有运营相关的动态化需求,可以作为选型参考。
+
+总体来说动态化的难度还是比较大的,挑选适合产品形态、团队规模、技术实力的方案才是最优的选择。
+
+### 🐕 [拒绝编译等待 - 动态研发模式 ARK](https://mp.weixin.qq.com/s/2tnU4sHf9XVEaJYgyTXoaw)
+
+[@红纸](https://github.com/ChengzhiHuang):在大型工程面前,编译链接慢是通病。本文作者从动态库入手,平台提供基线 ipa 包,本地研发阶段时下载。同时研发仓库做动态库编译,替换原有基线 ipa 包中动态库,重签名,形成完整包,再进行装机调试。在这种模式下,本地的代码仓库就能做到最小化,编译链接时间明显缩短,再也长时间没有爆内存的烦恼了。
+
+### 🐕 [Xcode Cloud: Automated Workflows](https://blog.devgenius.io/xcode-cloud-automated-workflows-730277773c37)
+
+[@Parsifal](https://github.com/ParsifalC):Xcode Cloud 是今年 WWDC 很受关注的特性功能,近期应该也有很多开发者陆续收到了 Beta 邀请。这是苹果官方的 CI/CD 工具,自然有着最适配苹果自身平台的优势,并且目前并没有看到相关收费的信息。
+
+> 同时推荐小专栏里的 3 篇 Xcode Cloud 相关 session 解读:
+>
+> - [【WWDC21 10268/10269】探索 Xcode Cloud Workflows](https://xiaozhuanlan.com/topic/5493872016)
+> - [【WWDC21 10267】一窥 Xcode Cloud](https://xiaozhuanlan.com/topic/2946158037)
+> - [【WWDC21 10267/10268/10269】窥探 Xcode Cloud](https://xiaozhuanlan.com/topic/7496513820)
+
+## 摸鱼周报
+
+[@摸鱼周报 #35](https://mp.weixin.qq.com/s/fCEbYkAPlK0nm7UtLKFx5A):第三十五期摸鱼周报来了,一起来看下本期摘要:
+
+* Tips:count vs isEmpty
+* 面试模块:Swift 中 struct 和 class 的区别,值类型和引用类型的区别。
+* 优秀博客:本期继续介绍几个优秀的 Swift 开源库。
+* 学习资料:戴铭的 Swift 小册子,黑五软件打折优惠整理。
+* 开发工具:PhotoSweeper,一款快速而强大的重复照片清理器。
+
+本期访谈系列邀请到的是一位在游戏行业工作的 iOS 开发。文中围绕他的工作日常,对于未来阶段 IAP 是否会支持三方支付,以及他如何坚持写博客这些事情展开讨论。感兴趣的同学可以点击这里查看全文:[人物访谈 | 一位游戏行业的 iOSer](https://mp.weixin.qq.com/s/tzYu-7H_GccjYhQh0u7zLQ) 。
+
+## 工具
+
+### [Learn X in Y minutes](https://learnxinyminutes.com/)
+
+[@Parsifal](https://github.com/ParsifalC):一个非常全面的教程大全网站,基础算法、数据结构和各类编程语言等等应有尽有,而且提供不同的翻译版本,值得加书签收藏一下。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+> 上海「哔哩哔哩主站直播」招人,加入后,会主要参与 B 站直播的「平台向/业务向」开发维护工作。本次为组内直推,效率会更高,[详情查看](https://mp.weixin.qq.com/s/gYobO5hM0wPSFRNJzGBGIA)~欢迎加微信:jony_chunfang
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#184-2021.12.06.md b/Reports/2021/#184-2021.12.06.md
new file mode 100644
index 000000000..9b48f6f15
--- /dev/null
+++ b/Reports/2021/#184-2021.12.06.md
@@ -0,0 +1,117 @@
+# 老司机 iOS 周报 #184 | 2021-12-06
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 线下沙龙
+
+### 🌟 [有赞移动技术沙龙火热报名中~](https://mp.weixin.qq.com/s/EdiV-CO80ONqx9-bKgciAA)
+
+[@Parsifal](https://github.com/ParsifalC):老司机今年联合企业举办的最后一场技术沙龙来啦~这次我们与有赞移动技术团队一起带来 **「质量·极致」** 为主题的线下沙龙活动。本次沙龙将涵盖中大型团队中把控线上稳定性的方方面面,共有 5 个主题,欢迎大家来现场学习!扫码即可参与报名!
+
+- 《有赞移动 APM 实践》
+- 《爱逛 Flutter 图片优化实践》
+- 《有赞 Flutter 热修落地实践》
+- 《有赞移动质量提升探索与实践》
+- 《有赞移动质量保障体系》
+
+
+
+## 🌟 [Tech Talks 2021 - 中文专场 1217](https://developer.apple.com/cn/tech-talks/)
+
+[@Parsifal](https://github.com/ParsifalC):Tech Talks 2021 最后一批中文专场来啦~
+
+- [探索出色 AR 体验的要素 (普通话)](https://developer.apple.com/events/tech-talks/dashboard/SR68FKF3QV/dashboard)
+- [充分利用 App Review 流程(普通话)](https://developer.apple.com/events/tech-talks/dashboard/74LR339842/dashboard),错过第一场的可以参加这次
+- [设计出色的 iPad app(普通话)](https://developer.apple.com/events/tech-talks/dashboard/K2J9AL6RYT/dashboard)
+- [将高性能视频与Metal集成(普通话)](https://developer.apple.com/events/tech-talks/dashboard/3VMP4RXSC4/dashboard)
+- [使用 StoreKit 2 和 App Store Server API 为客户提供支持(普通话)](https://developer.apple.com/events/tech-talks/dashboard/7DH6V3D8RM/dashboard)
+
+
+
+## 新手推荐
+
+### 🌟 [戴铭的 Swift 小册子](https://github.com/ming1016/SwiftPamphletApp)
+
+[@老峰](https://github.com/Gesantung):[小册子](https://github.com/ming1016/SwiftPamphletApp) 内容主要包括 Swift 语法特性、 Swift 官方社区动态、SwiftUI 等几个板块,面向 Swift 零基础的同学,包括一些直接可用的小例子,例子可以直接在工程中用或自己调试着看,可以使用作者开发的 macOS 程序来浏览,特别的程序是 Swift 写的,按照声明式 UI,响应式编程范式开发,源码也可以看看,推荐 Swift 新手及感兴趣的同学学习使用。
+
+## 文章
+
+### 🌟 🐢 [“杀死” App 上的疑难崩溃!](https://mp.weixin.qq.com/s/dHAiuHeF2n34DaPIGOtJaw)
+
+[@水水](https://www.xuyanlan.com): 作者分享了一个 58 同城 App 上遇到的疑难的崩溃,引出了 bugly 符号化不能正确解析的一些解决方案,过程中又发现了弱符号的问题,并按照这个研究方向在集团内做了一系列工具并解决了多个版本的历史遗留问题。
+
+crash 解决方案是开发者需要持续关注的问题,周报中也多次推荐一些好的 crash 解决思路、工具等。小编建议读者们不管是否遇到类似问题都可以加以关注和思考。
+
+### 🌟 🐎 [Solving Mysterious Logout Issues on iOS 15](https://sourcediving.com/solving-mysterious-logout-issues-on-ios-15-8b818c089466)
+
+[@Smallfly](https://github.com/iostalks):Cookpad App 在 iOS 15 上冷启动登录状态异常登出,作者经过一系列的排查,最终定位到和 iOS 15 系统的「pre-warm」机制有关,该机制的相关内容目前还不多,感兴趣的同学可以关注下。
+
+### 🐕 [Web API Client in Swift](https://kean.blog/post/new-api-client)
+
+[@JonyFang](https://github.com/JonyFang):有了 Async/Await 和 Actors 的特性,现在在 Swift 中设计自定义 Web API 相比以往可以通过少量的抽象,使代码易于理解和扩展,文中进行了一些实践演示应用。
+
+### 🐕 [自己搞一个 MemoryGraph 工具行不行?](https://mp.weixin.qq.com/s/pggPc5gWpV6ZX0rnVpN22Q)
+
+[@Barney](https://github.com/BarneyZhaoooo):答案是行!本文主要记录了自己搞一个 MemoryGraph 的调研过程,对比了业内方案,有自己的分析和思考。
+
+### 🐕 [如果 Safari 做不到对,快有何用?](https://coderemixer.com/2020/10/21/safari-is-fast-but-so-what/)
+
+[@JonyFang](https://github.com/JonyFang):描述了 Safari cache POST 请求和 Safari cache GET requests with cache disabled 问题的现象和复现过程。
+
+### 🐎 [What role do Tasks play within Swift’s concurrency system?](https://www.swiftbysundell.com/articles/the-role-tasks-play-in-swift-concurrency/)
+
+[@zvving](https://github.com/zvving):Swift5.5 引入的并发编程,Task 带来结构化并发 API,提供创建、组织、取消任务的简明方式;Actor 提供良好数据隔离方式,保障并发安全。本文作者通过页面中后台加载网络数据并主线程刷新内容的例子,介绍如何更好的使用 Task + MainActor。
+
+### 🐎 [Editing Multiple Constraints](https://useyourloaf.com/blog/editing-multiple-constraints/)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了批量编辑 Interface Builder 里约束的方法,习惯用 Interface Builder 的读者可以参考借鉴。
+
+### 🐎 [M1 设备的 Xcode 编译问题深究](https://juejin.cn/post/7037037120158269448)
+
+[@Parsifal](https://github.com/ParsifalC):苹果推出 M1 芯片的 MacBook 已经一年了,不少小伙伴都陆续用其进行开发。M1 芯片是属于 ARM 架构,而之前的 Intel 则是 x86_64 架构,这对于我们做 iOS/Mac 开发就有了些不同,比如原来 64 位设备后模拟器架构只包含 x86_64,现在多了个 ARM64。虽然为了方便开发者平滑过渡,苹果已经尽可能地解决了一些问题,但实际开发过程中仍然会存在部分问题。这篇文章归纳总结了 M1 设备推出后 Xcode 可能存在的编译问题,并都给出了解决方案。
+
+## 摸鱼周报
+
+[@摸鱼周报 #36](https://mp.weixin.qq.com/s/K_JHs1EoEn222huWIoJRmA):第三十六期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:Typora 开启收费模式,支持!(补充:目前国内网站被封锁,暂无法访问)
+* Tips:混编|为 Objective-C 添加枚举宏,改善混编体验。
+* 面试模块:事件传递及响应链。
+* 优秀博客:几篇关于 Swift 字符串的优秀博客。
+* 学习资料:独立开发者经验分享。
+* 开发工具:思源笔记,一款本地优先的个人知识管理系统, 支持细粒度块级引用和 Markdown 所见即所得。
+
+本期访谈邀请到的是一位优秀的 iOS 程序媛,一起来聊一下她眼中的 iOS。可以点击这里查看全文:[人物访谈 | 一位 iOS 程序媛](https://mp.weixin.qq.com/s/XIaiNY2oNEtayPcGNSos_A)
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#185-2021.12.13.md b/Reports/2021/#185-2021.12.13.md
new file mode 100644
index 000000000..f597e5272
--- /dev/null
+++ b/Reports/2021/#185-2021.12.13.md
@@ -0,0 +1,115 @@
+# 老司机 iOS 周报 #185 | 2021-12-13
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [千钧一发之际赢得暂缓令,苹果 App Store 要反败为胜了?](https://www.36kr.com/p/1519790525222278)
+
+[@Parsifal](https://github.com/ParsifalC):Epic Games 与苹果之间的诉讼仍然在博弈中,9 月份法院宣判苹果败诉后,苹果也已经宣布会在 12 月 9 日前发布正式政策允许使用第三方支付。而就在限期到达前,苹果又向法院申请到了暂缓执行这一命令,并已经继续提起上诉。
+
+## 文章
+
+### 🐎 [如何构建异步渲染聊天框架](https://mp.weixin.qq.com/s/CAoTWjjnPBzALPBDZaU54g)
+
+[@JimQ](https://github.com/waz0820):本文前半部分侧重于“异步渲染”,概述了异步渲染的必要性,以及使用传统方案 TextKit 异步渲染的优缺点,针对其劣势引入了 Texture。后半部分侧重于“如何构建聊天框架”,基于 IM 输入框的实践,通过代码集中诠释了如何利用状态机和状态驱动来驱动 UI 的变化,从而降低用户使用框架的门槛。
+
+### 🐎 [Support customers with StoreKit 2 and App Store Server API](https://developer.apple.com/videos/play/tech-talks/10887/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):苹果官方宣传 StoreKit 2 ,[中文](https://developer.apple.com/events/tech-talks/dashboard/7DH6V3D8RM/dashboard)的直播将在 12 月 15 日举行,感兴趣的同学可以预约。本次 Tech Talk 并没有新的 API 或者新特性出现,主要是重复介绍 StoreKit 2 的新特性,详细展开了:正常支付、用户续订用户、处理退款,三个场景的最佳实践。
+
+想了解 StoreKit 2 的细节,可以查看三篇 WWDC21 的翻译。
+[【WWDC21 10175】IAP 用户退款与客诉处理优化](https://xiaozhuanlan.com/topic/8670251439)
+[【WWDC21 10174】 IAP 后台通信优化与实践](https://xiaozhuanlan.com/topic/3768514920)
+[【WWDC21 10114】 初见 StoreKit 2](https://xiaozhuanlan.com/topic/6138790425)
+
+
+### 🐕 [淘特 Flutter 流式场景的深度优化](https://mp.weixin.qq.com/s/H2VqX6qSJ1KLkXB5p4S0dw)
+
+[@邦Ben](https://weibo.com/linwenbang):本文从底层原理,思路到最终实现,进行递进的讲解,Flutter 表现一直以来是堪比原生,但是终归有些场景还是原生占优,列表场景则是最为常用的场景了,本文主要的优化点是局部刷新。如果有需要对 Flutter 列表进行优化的,可以参考一下。
+
+参考链接:
+- [他把闲鱼APP长列表流畅度翻了倍(良心教程)](https://mp.weixin.qq.com/s?__biz=MzU4MDUxOTI5NA==&mid=2247486101&idx=1&sn=171d269a324748f01e5c92fbaa54854f&chksm=fd54de84ca2357920b822902ea8b23137d83e2f4f7340fabae819182cba2585181be5455e5b2&scene=21#wechat_redirect)
+- [ListView流畅度翻倍!!Flutter卡顿分析和通用优化方案](https://juejin.cn/post/6940134891606507534)
+
+
+### 🐕 [iOS Pod Update 指数级变慢?看 Flutter 新一代版本仲裁算法 Pubgrub 如何解](https://mp.weixin.qq.com/s/Ulz9FafWwtbefVuikTMj7Q)
+
+[@红纸](https://github.com/nianran):本文介绍了 CocoaPods 在出现包版本冲突情况下,Molinillo 仲裁算法使用回溯 DFS 父节点的方式解决冲突问题。但在大型工程下,依赖图异常复杂,回溯成本较高,会出现严重的降速问题。一般都会在 Podfile 中声明好具体依赖来减轻仲裁负担。本文还介绍新一代的仲裁算法 Pubgrub 推导不兼容性算法的数学逻辑来解决依赖仲裁问题。感兴趣的同学可以看一看~
+
+关于 Molinillo 的详细介绍可以看这篇文章: [Molinillo 依赖校验](https://mp.weixin.qq.com/s/Kux4B4piqR43RLwiHRcHUQ)。
+
+> 自荐:[BlackTea](https://juejin.cn/user/4406498332782141)
+
+### 🐕 [My worst tech interview experience · Jesse Squires](https://www.jessesquires.com/blog/2021/12/01/my-worst-tech-interview-experience/)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了作者早期去面试 Apple Watch 团队的不愉快体验,结合后来的成长经历,表达了自己对如何面试的一些思考。
+
+### 🐢 [浅谈 swiftinterface 文件](https://mp.weixin.qq.com/s/LVxFTp4nLHZDU_PqdsnX6Q)
+
+[@anotheren](https://github.com/anotheren):swiftinterface 是什么?文章以 **模块稳定性(Module Stability)** 为切入点,介绍了 .swiftinterface 文件的工作原理以及常见的误区,最后介绍了 `@_alwaysEmitIntoClient` 关键字以及它的实现原理。干货满满,还有不少作者的思考结论,推荐阅读。
+
+### [Get started with in-app events](https://developer.apple.com/videos/play/tech-talks/10889/)
+
+[@享耳先森](https://github.com/iblacksun):从 Apple 在 WWDC 21 提起 In-app events 开始,到前段时间正式开放已经有一段时间了,建议回顾下本视频,包含了 in-app events 的一些建议和最佳实践。
+
+### [Flutter 2.8 release 发布,快来看看新特性吧](https://mp.weixin.qq.com/s/7J_eLYO1DiPu8A2XsF99nw)
+
+[@Parsifal](https://github.com/ParsifalC):Flutter 继续稳步更新,2.8 版本正式发布。本次更新依然围绕着稳定性和性能方面。包含以下几点:
+
+- 改进了应用的启动延迟问题,尤其是 Android 低端设备上
+- 继续优化内存占用
+- Android systrace 的支持
+- Flutter DevTools 提高对性能调试的支持
+- Web platform views 的优化
+- WebView 3.0
+
+## 摸鱼周报
+
+[@摸鱼周报 #37](https://mp.weixin.qq.com/s/PwZ2nIHRo0GDsjMx7lSFLg):摸鱼周报第三十七期来啦,一起来看下本期概要:
+
+* 话题:苹果正式开放 AppStore 的 2 个重磅功能:自定义产品页和产品页优化。
+* Tips:设备启动流程的梳理。
+* 面试模块:HTTP/1.0,HTTP/1.1,HTTP/2 有哪些区别?
+* 优秀博客:几个音视频相关的优秀仓库介绍。
+* 学习资料:计算机教育中缺失的一课(中文版)。
+* 开发工具:myyearwithgit,开启你的年度报告。
+
+## 音视频
+
+### 🚧 🐢 [Scale By The Bay 2021 : Konrad Malawski, Distributed Systems with Swift](https://www.youtube.com/watch?v=7yu6mEq8R2Q&ab_channel=FunctionalTV)
+
+[@老驴](https://weibo.com/u/6090610445):Swift 在最近几年添加了很多新的语言特性,极力试图突破 Apple 生态圈。这个视频就是 Apple Swift 团队的工程师来介绍如何使用 Swift 中新添加的特性如 distributed actor 来写大型分布式系统。不过还是要温馨提醒一下有兴趣的同学,分布式系统不是单单一个语言的问题,所以不妨自己尝试尝试以后再在生产环境中使用。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#186-2021.12.20.md b/Reports/2021/#186-2021.12.20.md
new file mode 100644
index 000000000..e734087aa
--- /dev/null
+++ b/Reports/2021/#186-2021.12.20.md
@@ -0,0 +1,108 @@
+# 老司机 iOS 周报 #186 | 2021-12-20
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### iOS 15.2 新增相册卡死
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):12 月 15 日,苹果发布了 iOS 15.2 的正式版。不幸的是这次升级带来了卡死。在还未向用户申请相册权限时,即 ``[PHPhotoLibrary authorizationStatus] != PHAuthorizationStatusAuthorized`` 时,如果调用 ``[[PHPhotoLibrary sharedPhotoLibrary] registerChangeObserver:xxx];`` 添加监听,则会卡死。苹果开发者论坛也有同学[反馈](https://developer.apple.com/forums/thread/696131),目前苹果还未有回应,可以看到这个问题在 15.2 beta 版中就存在了,需观察苹果后续会如何处理。
+
+临时方案可以在注册前进行判断,如果没有权限,则不注册观察者。
+
+## 文章
+
+### 🌟 🐕 [浅谈 Swift Dictionary](https://mp.weixin.qq.com/s/yIHaAaGRX7Ru_OetdX0_Vg)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):作者分析字典下标访问方法,并将源码与汇编结合,便于读者加深理解,推荐一读。阅读需要对汇编有些基础了解,例如[保留字 qword、byte 等](http://c.biancheng.net/view/3465.html)。
+
+同时本文还包含了:
+- 字典的内存布局,主要关注 count、scale、rawKeys/Values 这些固定布局结构,和 bitset、Keys/Values 这些不固定布局的结构。
+- 简单介绍动态调试 Swift 源码的方案。
+
+### 🌟 🐕 [FlutterWeb 性能优化探索与实践](https://mp.weixin.qq.com/s/fE11vs2qnRIHAWYv1af-gA)
+
+[@Damien](https://github.com/ZengyiMa):2021 年 3 月份,Flutter 2.0 正式对外发布,意味着 Google 更加坚定了多端复用的决心。本文是美团外卖商家团队基于 HTML Render 模式对 FlutterWeb 性能优化进行了探索和实践,主要包括:
+- SDK(Dart-SDK、Framework、Flutter_Web_SDK)的精简
+- 静态资源产物优化(例如:JS 分片、文件 Hash、字体图标文件精简、分平台打包等)
+- 前端资源加载优化(预加载与按需请求)
+
+使得 JS 产物由 1.2M 减少至 0.7M(非业务代码),页面完全加载时间 TP90 线由 6s 降到了 3s 的不错成绩,并且提出更加长期规划,对 FlutterWeb 感兴趣的同学不妨一读。
+
+### 🐢 [不甘当学渣,努力作学霸,最终是学民](https://mp.weixin.qq.com/s/lZzX_1pLeied7e4jkvcVJQ)
+
+[@Smallfly](https://github.com/iostalks):本文记录了一名「普通」程序员在近两年工作,学习,旅行上不平凡的经历。
+
+### 🐕 [从 350ms 到 80ms,打造新零售场景下 iOS 短视频的极致丝滑体验](https://mp.weixin.qq.com/s/qYsfyw2K77hKMfHd_uTp-Q)
+
+[@anotheren](https://github.com/anotheren):来自盒马的短视频优化方案,其核心方案依然是 3 点:提前缓存视频数据、视频文件编码/体积优化、提前准备播放器。
+
+## 摸鱼周报
+
+[@摸鱼周报 #38](https://mp.weixin.qq.com/s/a1aOOn1sFh5EaxISz5tAxA):第三十八期摸鱼周报来了,一起来看下本期概要:
+
+* 话题: Xcode 13.2 和 iOS 15.2 的正式版值得关注的几项新功能。
+* Tips:内存相关的一些机制。
+* 面试模块:dealloc 在哪个线程执行;NSString *str = @"123" 这里的 str 和 "123" 分别存储在哪个区域。
+* 优秀博客:SwiftUI 相关的几篇优秀博客。
+* 学习资料:软件随想录,Joel Spolsky 的 Blog 纸质版文集。
+* 开发工具:Dropshelf,一款 Mac OS 下的拖拽效率应用。
+
+本期人物访谈邀请的是_夏天_,他是摸鱼周报的一位主编,主要负责 Tips 部分的编写和审核。曾参与掘金翻译计划,翻译过很多篇优质博客内容,也翻译过像是 iOS Crash Dump Analysis Book 这一类的外文图书。这次拉他来聊一聊关于外文翻译和他个人的一些工作感悟,完整内容可以点击查看:[人物访谈 | 一位普通的 iOS 程序员](https://mp.weixin.qq.com/s/60o6UKcDjf9lAy2o2AQ_tw)。
+
+## 工具
+
+### [Zealot](https://github.com/tryzealot/zealot/)
+
+[@JonyFang](https://github.com/JonyFang):推荐一个开源自部署 iOS、Android 及 macOS 应用分发平台,提供 iOS、Android SDK、fastlane 等丰富组件库,打包分发流程、简化了应用上传、可独立部署,是对开发者、测试者友好的开源项目。
+
+## 代码
+
+### [AppFlowy](https://github.com/AppFlowy-IO/appflowy)
+
+[@AidenRao](https://weibo.com/AidenRao):[Notion](https://www.notion.so/) 是深受团队和个人欢迎的生产力应用。AppFlowy 是 Notion 的开源替代品,支持主流的移动和桌面端系统,技术选型很有趣,前端选择了 Flutter,后端使用 Rust 编写,通过 FFI 进行通信。
+
+## 音视频
+
+### [佛系技术翻译组 SwiftGG 的过去与现在](https://www.xiaoyuzhoufm.com/episode/61b451ff0506e510b35d71d0?s=eyJ1IjogIjVlN2M4NjIxYjNjNWJjYTVmNjQxMzlmMiJ9)
+
+[@Parsifal](https://github.com/ParsifalC):老卓的播客这次邀请到了 SwiftGG 的两代负责人 梁杰 和 MM 一起谈谈社区组织 SwiftGG 的往事。SwiftGG 翻译组一直负责着 Swift 官方文档的翻译工作,并得到了官方的认可,还曾举办了国内的 Swift 大会和上海 T 沙龙活动。老卓也是老司机技术周报的创始人,并且周报编辑组也有多位成员参与了 SwiftGG。3 个人在这期播客里,聊到了很多做社区组织背后的小故事,分享了这些年来的经验和体会。
+
+### [Explore and manipulate data in Swift with TabularData](https://developer.apple.com/videos/play/tech-talks/10100/)
+
+[@xiaofei86](https://github.com/xiaofei86):本期 Tech Talks 带了新的框架 TabularData,用来导入、组织和准备数据表以训练机器学习模型。除了为机器学习任务预处理数据外,你也可以将加载、浏览和操作 CSV、JSON 等非结构化数据的能力用在 App 中。
+
+观看视频了解此框架如何帮助你处理大型数据集,并将多个数据表连接在一起进行过滤。视频还将向你展示如何使用 DataFrame 来驱动 App 的所有以数据为中心的功能。
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2021/#187-2021.12.27.md b/Reports/2021/#187-2021.12.27.md
new file mode 100644
index 000000000..bd867ed50
--- /dev/null
+++ b/Reports/2021/#187-2021.12.27.md
@@ -0,0 +1,168 @@
+# 老司机 iOS 周报 #187 | 2021-12-27
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 通知
+
+[@Parsifal](https://github.com/ParsifalC):这是今年的第 44 期周报,也是 2021 年最后一期周报,同时也是我作为周报主编的最后一期。2017 年底老卓创办了老司机技术周报,然后是 2018 年底我继任主编,成刊整整 4 年,经历过各种各样的事情,但周报都没有因为非节假日原因断更过,这是我们编辑组所有人都可以引以为傲的事情。而今我也要将主编这个身份交接给了我们下一任负责人 - Damon,也就是大家所熟悉的老王~老王也是编辑组的 OG,并且主导了编辑组与社区近两年的 WWDC 内参活动,过去也参加了编辑组很多运营工作,这次算是正式接棒上任了。后续周报的更新、纳新、对外合作以及各类内容发布等等运营相关事宜,都可以直接联系老王协商。我们一直说编辑组最大的资本就是我们 30 多位优秀的编辑,我很荣幸成为其中一员,即使往后不再参与运营工作,但我也会是周报最忠实的读者。感谢大家多年以来的支持,提前祝大家新年快乐啦!
+
+## 🌟 [Tech Talks 2022 - 中文专场 0104](https://developer.apple.com/cn/accelerator/)
+
+[@Parsifal](https://github.com/ParsifalC):2022 年第一期 Tech Talks 中文专场来了!扫码即可报名~
+
+### 使用 Group Activities 将共享群组体验引入您的 app
+
+SharePlay 让您可以将您的 app 整合到 FaceTime 中,并以这种全新的方式将用户聚集起来。通过 Group Activities API,您可以比以往更加容易地将您的 app 中的电影、电视、音乐和其他共享媒体带入到人们已经在用来相互联系的空间。您可以了解如何提供全新的卓越用户体验,以及用户之间的推荐为您的 app 带来的自然增长。
+名额有限。请在 2022 年 1 月 3 日前报名参加。
+
+
+
+## 新闻
+
+### 🐎 [Log4j Xcode vulnerability](https://developer.apple.com/forums/thread/696785)
+[@Smallfly](https://github.com/iostalks):近期 Java 日志库 Log4j 漏洞影响了很多国内外主流的大平台,有用户在苹果论坛上指出,Xcode 在上传应用到 App Store 时使用了 Java 运行环境,疑似存在风险。苹果团队回应 Xcode 确实包含 Log4j 副本,Xcode 13.2.1 会自动更新到修复版本。
+
+建议及时升级 Xcode。
+
+## 文章
+
+### 🌟 🐕 [Flutter疑难杂症系列:实现支持复杂需求的列表](https://mp.weixin.qq.com/s/CtcxDtTgcEh0L77Z2g9HFg)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 列表页面在移动端开发可谓是一个必然面对的场景,复杂业务下的列表优化也是个老生常谈的话题,在 Flutter 中也是如此,本文是由字节跳动基础架构团队奉献,详细讲解了 Flutter 中如何应对复杂需求下的列表页,从原理到实践,到性能分析,再到功能扩展,一步步抽丝剥茧,值得每一位 Flutter 开发者细读,小编强烈推荐。
+
+### 🌟 🐕 [Swift代码优化指南 | 如何最大化实现性能提升?](https://mp.weixin.qq.com/s/xGeLeqcXBeBw1zMPqBZKYA)
+
+[@JonyFang](https://github.com/JonyFang):本篇从语法角度优化代码,长远来看有益于养成良好的代码习惯,某种程度上从根源减少错误的产生。详细内容:
+1. 编译速度优化
+ - 费时类型判断;
+ - 现实运用中的取舍;
+2. 内存分配与占用
+ - 关于 struct 的使用;
+ - 用轻便的 Enum 替代 String;
+ - 优化集合类型(内存分配策略、预分配内存、惰性序列);
+ - 减少不必要的桥接(ContiguousArray 替换 NSArray);
+ - 善用写时复制;
+3. 运行时速度优化
+ - 介绍三种函数派发;
+ - 使用 final、private 优化派发方式;
+
+
+### 🐕 [错误处理原则及其在Swift中的应用](https://mp.weixin.qq.com/s/DJKuCXzqxBg7LPmtPMgglw)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文讨论了容易被大家忽视的错误处理,以及一些Swift中的应用。
+
+- 错误处理的目标
+- 错误处理的方案
+- 异步函数的错误处理
+- Swift标准库的行为
+
+### 🐢 [A roadmap for improving Swift performance predictability: ARC improvements and ownership control](https://forums.swift.org/t/a-roadmap-for-improving-swift-performance-predictability-arc-improvements-and-ownership-control/54206)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):Swift 的开发者为我们带来了基于 ARC 内存管理的新特性 roadmap ,总体思路是在不影响主要代码逻辑阅读的前提下,在参数定义时增加特定的一些关键字来优化标明持有关系,使 debug/release 下的表现一致,辅以编译器的强提示来保证安全性;相较 C++ 严格的作用域模型,Swift 会略微宽松一些,同时也能避免在 deinit 时有先后顺序的依赖导致的问题。特别强调,目前只是 roadmap ,后续可能还会有变更。同时对目前 debug/release 释放时机不明确可能导致的问题进行了举例:例如在 deinit 时会调用 free ,而 free 对 errno 有影响,如果判定对象能够提前被释放,就有可能导致程序在 debug/release 下有不同的表现。
+
+主要内容如下:
+- 通过 move() 方法,在函数内显式转移控制权,这样原本的变量就不再被持有,那就被编译器认为可以被释放,可以避免 Copy-on-write 的多余操作。同时在函数内期望最后的一次使用该变量时,也可以调用此方法,防止该变量后续再被调用。
+- 通过在函数声明时对参数标注 consuming/nonconsuming 来传达持有关系。
+- 通过将 getter/setter 函数替换为 read/modify 来避免对 Array/Dictionary/Set 等类型的无用 Copy-on-write 。
+- 通过对参数标注 @noImplicitCopy 来保证:在函数体内,如果传递该参数到标明 consuming 的方法时,则需要显式调用 copy 方法,来确认参数的所有权。如果不显式调用,则会在编译期报错。
+- 对参数也可使用 @nonescaping 进行标注。
+- 上述 @nonescaping/@noImplicitCopy 的变量统称为 move-only 类型,会对参数列表中包含 move-only 类型的 API 进行性能优化。
+
+### 🐕 [Introducing Swift for Visual Studio Code](https://forums.swift.org/t/introducing-swift-for-visual-studio-code/54246)
+
+[@老峰](https://github.com/gesantung):本文介绍了 VSCode Swift 扩展,该扩展可以提供 VSCode 下 Swift 开发,可以方便的处理 Vapor 项目,值得注意的是这是一个 0.1.0 版本,因此它的功能不完整,主要包括以下功能:
+- 自动创建任务
+- 包依赖视图
+- 代码补全
+- 跳转到定义、查看定义、查找所有引用、符号搜索
+- 自动生成用于调试的启动配置
+
+## 摸鱼周报
+
+[@摸鱼周报 #39](https://mp.weixin.qq.com/s/DolkTjL6d-KkvFftd2RLUQ):第三十九期摸鱼周报来了,一起来看下本期概要:
+
+* Tips:混编|为 Swift 改进 Objective-C API。
+* 面试模块:HTTPS 证书有效性的验证过程。
+* 优秀博客:Core Data、Realm、MMKV 这几个库相关的一些介绍。
+* 学习资料:一个学习正则表达式的网站。
+* 开发工具:一个安装 Xcode 的 CLI 工具 `xcinfo`,一款开源的 Markdown 编辑工具 Mark Text。
+
+本期访谈对象是老司机周报的主编:Parsifal。本次访谈主题分两部分,一部分是老司机周报的发展故事和他的行业观察,另一部分是他对开发者的一些建议。详情可以点击:[人物访谈 | 老司机周报主编 Parsifal 专访](https://mp.weixin.qq.com/s/HWbPbPBPYgFJsM-oc_4tvw)
+
+## 工具
+
+### [ipatool](https://github.com/majd/ipatool)
+
+[@Parsifal](https://github.com/ParsifalC):一款通过终端下载 App Store IPA 的脚本工具,两行命令即可下载已经上架的 App 了(前提是你已经在手机上下载过该 App,即这个工具只是从你「已下载 App」里同步 IPA)。另外需要注意的是,如果账号开启了两步验证,则需要多试一次。第一次尝试会触发两步验证的验证码,第二次继续尝试并且将第一步获取到的验证码直接拼接到你账号密码后面即可。
+
+```shell
+#先执行一次
+ipatool download -b com.apple.testflight -e olddriver@gmail.com -p YourPassword$110
+==> ℹ️ [Info] Querying the iTunes Store for 'com.apple.testflight' in country 'US'...
+==> ℹ️ [Info] Authenticating with the App Store...
+==> ❌ [Error] An unknown error has occurred.
+
+#拿到上一次触发的验证码,比如123456,拼接到密码后面
+ipatool download -b com.apple.testflight -e olddriver@gmail.com -p YourPassword$110123456
+==> ℹ️ [Info] Querying the iTunes Store for 'com.apple.testflight' in country 'US'...
+==> ℹ️ [Info] Authenticating with the App Store...
+==> ℹ️ [Info] Authenticated as 'Old Driver'.
+==> ℹ️ [Info] Requesting a signed copy of '899247664' from the App Store...
+==> ℹ️ [Info] Downloading app package... [100%]
+==> ℹ️ [Info] Saved app package to com.apple.testflight_899247664_v1.5.0_465.ipa.
+==> ℹ️ [Info] Applying patches...
+==> ℹ️ [Info] Done.
+```
+
+## 书
+
+### [阅读亚马逊逆向工作法的几点收益](https://mp.weixin.qq.com/s/-FHtH2C8f7oKLh3QJ9DFWw)
+
+@叶孤城:推荐一本书叫做《亚马逊逆向工作法》,我买来看了一遍,受益匪浅。少有的在讲管理时,实操性极强,而不谈玄学的书。
+
+## 音视频
+
+### 🐢 [编码人声:新人该怎样入坑开源项目](https://dao.fm/2021/12/09/vol-333-编码人声:新人该怎样入坑开源项目?/)
+
+ [@含笑饮砒霜](https://weibo.com/chinafishnews/):开源对普通程序猿来说似乎是很遥远的事情,这期播客请到了几位开源领域的大咖,聊一聊如何开始你的开源之旅。本期播客的主要内容:
+- 嘉宾参与开源项目的心路历程
+- 开源的经济价值和社会价值
+- 如何开始参与一个开源项目
+- 只有程序员才能参与开源么
+- 开源对企业的价值在哪里
+- Github等开源平台的生态和挑战
+- 自海外诞生的开源文化,在中国会如何
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#188-2022.01.10.md b/Reports/2022/#188-2022.01.10.md
new file mode 100644
index 000000000..748d662ec
--- /dev/null
+++ b/Reports/2022/#188-2022.01.10.md
@@ -0,0 +1,181 @@
+# 老司机 iOS 周报 #188 | 2022-01-10
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+> 各位新年好呀!过去的 2021 年对于老司机周报来说发生了很多事情,我们也为此写了份 [年终总结](https://mp.weixin.qq.com/s/v-ZBo0uQjJWyBKvQqWK_TQ) 给到大家,非常感谢各位读者长期以来的支持与关注。这是周报的第 188 期,也是 2022 年的第 1 期,新的一年大家一起加油!
+
+## 🌟 [App 加速器 - 线上活动](https://developer.apple.com/cn/accelerator/)
+
+[@Damonwong](https://github.com/Damonvvong):2022 年第 2/3 期「App 加速器 - 线上活动」来了!扫码即可报名~
+
+### 在您的 app 中训练自定义 Core ML 模型
+
+了解如何通过在您的 app 中动态训练 Core ML 模型来构建自适应和个性化体验。首先,我们将回顾您可以在本地创建哪些类型的模型,包括基于图像的任务 (比如风格迁移和图像分类)、音频相关的任务 (如自定义声音分类) 以及使用表列回归器。我们还将向您展示您的 app 如何学习人们的个人行为以构建更智能、更直观的功能。
+
+### 使用 StoreKit 2 和 App Store Server API 为客户提供支持
+
+了解如何使用 StoreKit 2、App Store Server API 和 App Store Server Notifications 为您的客户创造出色的应用内购买体验,并提供支持和退款。我们将探索实施方法,提供最佳实践,并和您一起实现如何进行客户管理和退款管理。
+
+
+
+## 新闻
+
+### 🌟 🐢 [阿里自研标准化协议库 XQUIC 正式开源](https://mp.weixin.qq.com/s/OrvjikvYyqlHAzGamLmpsw)
+
+[XQUIC](https://github.com/alibaba/xquic) 是阿里自研的 IETF QUIC 标准化传输协议库。XQUIC 是基于 IETF QUIC 协议实现的 UDP 传输框架,包含加密可靠传输、HTTP/3 两大块主要内容,为应用提供可靠、安全、高效的数据传输功能,可以极大改善弱网和移动网络下产品的用户网络体验。手淘图片、短视频等场景已经落地 GQUIC,并拿到了一定的网络体验收益。
+XQUIC 是一个轻量、高性能、标准化的跨平台协议库,具有以下优势:
+- 轻量性 - Android/iOS 双端的编译产物均小于 400KB
+- 高性能传输 - 相对于内核态 TCP+HTTP/2 优化 20% 的网络请求耗时
+- 标准化 - 实现了整套 IETF QUIC 标准协议,包含传输层、加密层、应用层协议栈
+- 易用性 - 支持 Linux/Android/iOS/Mac 等平台,客户端可以通过 SDK 方式很方便地接入并使用、完善的文档(中文/英文对照)、demo 示 例和单测
+
+### [Swift implemented in Swift](https://github.com/apple/swift/tree/main/SwiftCompilerSources)
+
+[@kemchenj](https://kemchenj.github.io):Swift 仓库近日添加了一个 Swift implemented in Swift 的项目,旨在使用 Swift 实现 Swift 编译器的部分功能。目前实现了 SIL 的桥接和部分简单的 SIL Pass,短期目标是将 SIL Optimizer 的功能改为使用 Swift 进行实现。
+
+### [苹果“换芯”之路再起波折,M1 芯片功臣被英特尔挖走了](https://www.infoq.cn/article/wLXQeEayVLEdQSJyd6Eq)
+
+1 月 6 日,苹果 Mac 系统架构总监 Jeff Wilcox 在领英上宣布,他将离开苹果,前往英特尔担任新职位。他将担任英特尔研究员和设计工程组的首席技术官的领导职位,专注于客户端 SoC 架构。Jeff Wilson 说,他计划与英特尔一起打造开创性的 SoC。
+
+## 文章
+
+### 🌟 🐕 [小程序容器首屏秒开优化实践](https://mp.weixin.qq.com/s/7qeBZZ1KusME_SO3_A4L9g)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文介绍了饿了么 APP 小程序秒开的实践干货。
+
+- 1、包和包信息(前置预请求、APP内预置、异步更新)
+- 2、Render 创建、资源加载(前置预创建、资源前置分阶段预加载)
+- 3、Worker 创建、资源加载(前置预创建、资源前置分阶段预加载)
+- 4、首屏接口预请求(前置预请求)
+- 5、首屏渲染(加载首屏快照)
+- 6、Appx 框架(Appx2.0)
+- 7、检测工具和数据验证
+
+### 🌟 🐎 [Xcode13 自适应瀑布流 Layout 在 iOS15 上对 crash 的定位及修复](https://mp.weixin.qq.com/s/sdj5Ym186VkpxXwExIpC0A)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文介绍了排查特定构建环境,配上特定系统遇到的死循环案例。排查时作者逐步减少可能因素的过程较有学习价值。
+
+同时也能看出本地开发环境与打包构建环境保持一致的重要性,推荐更快地适配新版 Xcode,如果确实有困难也应该设置 deadline,在 deadline 到来前集体完成升级。除了能减少维护多套打包资源,还能减少遇到兼容性问题排查的成本。
+
+### 🌟 🐕 [Flutter 轻量级引擎实践与优化](https://mp.weixin.qq.com/s/n6rA0KyUSMGnnzG6Ij6edA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 开发中一直以来在 View 角度的使用和展示都是棘手问题,在 Flutter 2.0 之后 Flutter Engine Group 功能得以改善,字节跳动端团队从 Engine Group 上解决 View 级别的使用实践出发,并针对 Engine Group 场景下做了大量优化:
+- 入口参数配置
+- 多引擎数据通信
+- 数据更新同步
+- 图片缓存共享
+- iOSSurface 释放
+
+### 🐢 [TCA - SwiftUI 的救星?](https://onevcat.com/2021/12/tca-1/)
+
+[@zvving](https://github.com/zvving):从 UIKit 到 SwiftUI,声明式布局、数据传递、状态管理都带来极大的变化,在复杂项目中,如何通过 SwiftUI 构建可组合、易维护、可测试的项目架构本身就是一件很有挑战的事,受 [Elm](https://elm-lang.org) 启发诞生的 [TCA (The Composable Architecture)](https://github.com/pointfreeco/swift-composable-architecture) 是可能的答案之一。
+
+- 通过 Reducer 统一 Action 带来的 State 变化,调试、测试更友好
+- 分割 Store/ViewStore:避免不必要的 view 更新,细粒度 view 有灵活的组合能力
+- 跨 UI 框架能力:为 UIKit 到 SwiftUI 提供更稳妥的过渡路径
+- 单个 Feature 有能力自由组合成为更大的 feature,这也是 Composable 名称的来源
+
+[@onevcat](https://onevcat.com/tabs/about/)通过系列文章,用逐步完善的计数器例子介绍 TCA,目前已推出 [一](https://onevcat.com/2021/12/tca-1/)、[二](https://onevcat.com/2021/12/tca-2/),更多精彩内容敬请期待!
+
+
+### 🐕 [赵海平与张宏波谈编程语言](https://mp.weixin.qq.com/s/FI2WFOENBxgCbykvy9wBYQ)
+
+[@莲叔](http://aaaron7.github.io/):伴随着各个领域的技术体系的升级,编程语言一直在持续的迭代和发展。拿移动端来说,Swift/Kotlin 方兴未艾。竟还横空出世了 Rust,成为移动技术领域的新宠。服务端技术也一样,微服务的大火让 GO 也成为主流的服务端开发语言。本篇文章是两个在编程领域颇具名气的前辈针对时下流行的编程语言的设计背景、优劣势进行讨论,很有价值。其中也讨论到了编程语言设计的核心标准:解决当下面临的痛点问题。 这也能够帮助我们在学习语言的时候对于语法和最佳实践有更深刻的认识。
+
+### 🐕 [Swift 在 58 安居客房产实践](https://mp.weixin.qq.com/s/xMhVbw2-z2sDQbF9I8_0uA)
+
+[@xiaofei86](https://github.com/xiaofei86):随着苹果对 Swift 的大力推广,越来越多以 Objective-C 为基础的老项目逐渐以混编的形式开始尝试 Swift。本文 58 安居客房分享了自己的产品率先从 Objective-C 向混编改造的经验,以及在改造过程中遇到各种问题的分析及解决过程。
+
+## WWDC21 内参
+
+### 🌟 [检测和诊断 App 内存问题](https://mp.weixin.qq.com/s/E80VEIJma66fj7BZy1cCeQ)
+
+本 Session 讲解了如何使用 Xcode 检测和诊断内存问题。首先需要了解内存构成,内存占用对 App 的影响、以及一些常见的内存问题,最后学习使用一些工具来分析并解决内存问题。
+
+### [iPhone 相机拍摄新变化](https://mp.weixin.qq.com/s/swzI8C1NHeDFQNBbkQQhUQ)
+
+去年 Apple 对 iPhone 的相机升级是非常明显的,比如增加了 10-bit HDR 视频的拍摄,Apple ProRaw 的支持等。同时得益于 M 系列/A 系列芯片强大的算力,Apple 目前对于拍摄上的思考和提升更多走的是 [计算摄影](https://zh.wikipedia.org/zh-hans/%E8%AE%A1%E7%AE%97%E6%91%84%E5%BD%B1) 路线,而非在光学硬件上做大幅度提升。所以今年的 WWDC Apple 将相机的更多能力开放给开发者使用。
+
+### [更好用的 sheet](https://mp.weixin.qq.com/s/AR3SH9ddgKAiBDOVuPPUug)
+
+在 WWDC19 的 [Modernizing Your UI for iOS 13](https://developer.apple.com/videos/play/wwdc2019/224) 中,苹果介绍了 sheet 这种 present 视图控制器的方式。在 WWDC21 的 [Customize and Resize sheets in UIKit](https://developer.apple.com/videos/play/wwdc2021/10063/) 上,苹果介绍了对 sheet 展示方式的一系列优化,包括自定义视图大小、背景可交互等一系列新能力。让我们一起具体了解下吧 ~
+
+## 工具
+
+### [RegexLearn](https://regexlearn.com/zh-cn)
+
+[@红纸](https://github.com/nianran):RegexLearn 是一个正则表达的学习网站,与其他网站不同的是,它是一个游乐场,通过实践来学习和测试正则模型。
+
+> 推荐人:[KeithBird](https://github.com/KeithBird)
+
+### 🐎 [用 rust 实现苹果的 atos 工具,atosl-rs 发布啦](https://mp.weixin.qq.com/s/Oy9jXMnVMYF55nqUpN2WXQ)
+
+[@Smallfly](https://github.com/iostalks):iOS 符号解析是非常基础的需求,苹果在 macOS 平台上提供了 `symbolicatecrash`, `atos` 等工具。作者使用 Rust 语言实现了一个跨平台的解析工具 `atosl-rs`,并做了开源,有兴趣可以围观。
+
+## 代码
+
+### [Rainbow](https://github.com/onevcat/Rainbow)
+
+[@享耳先森](https://github.com/iblacksun):Rainbow 是 [@onevcat](https://onevcat.com/tabs/about/) 开源的一个控制台和终端日志输出库,可以给文字添加颜色、背景色、样式等信息,支持 Apple 和 Linux 平台。
+
+### [CreateAPI](https://github.com/kean/CreateAPI)
+
+[@Damien](https://github.com/ZengyiMa):CreateAPI 是用 Swift 编写的 OpenAPI 规范生成代码的工具,它具备 4 大优势:
+
+* 快速:在不到一秒的时间内处理 100K 行 YAML 的规范。
+* 智能:生成的 Swift 代码看起来就像手写的一样标准。
+* 可靠:在 100 万行公开可用的 OpenAPI 规范上测试,每次都能生成正确的代码。
+* 可定制:提供大量的定制选项来完成各种精细化控制
+
+## 音视频
+
+### 🚧 🐢 [Springboard: the secret history of the first real smartphone (Full Documentary)](https://www.youtube.com/watch?v=b9_Vh9h3Ohw&ab_channel=TheVerge)
+
+[@老驴](https://weibo.com/u/6090610445):科技行业总有存在一些超越时代的产品,他们生不逢时,最后不一定会成功,甚至大部分都失败了,但是他们对行业的引导性让之后的其他人,最终在合适的时间,合适的地点,做出合适的产品。就比如智能手机,现在的代表是 iPhone,但是在 iPhone 之前,有一些公司已经做了一些对智能手机的尝试。Verge 做了一期纪录片,采访了当时最早那批坚信移动互联网革命的人,他们来自 Handspring,第一个做出了世界上真正意义上的智能手机:Treo 系列。Handspring 后来也被 Palm 收购,而当时 Handspring 坚信的移动浪潮也最终来临。
+
+### 🌟 卖鱼桥分桥 - 老司机技术周报四周年纪念
+
+[@Damonwong](https://github.com/Damonvvong): 上周受周报创始人 [@卓同学](https://github.com/lacklock) 之约,我和 [@Parsifal](https://github.com/ParsifalC) 一起做客了他播客节目「卖鱼桥分桥」,聊了聊关于老司机技术周报的一些背后的故事,如果你对我们的故事也比较感兴趣可以在闲暇之余听一下哈~
+
+- [老司机技术周报四周年纪念(上):成立、纳新、技术沙龙](https://www.xiaoyuzhoufm.com/episode/61d2baf2cb0f5d7d1b7ccc44?s=eyJ1IjoiNWViODA4Y2UwZGJlZDIyMjcyY2ViNzk4IiwiZCI6MX0%3D)
+- [老司机技术周报四周年纪念(下):主编交接](https://www.xiaoyuzhoufm.com/episode/61d442e0cb0f5d7d1b7ccca8?s=eyJ1IjoiNWViODA4Y2UwZGJlZDIyMjcyY2ViNzk4IiwiZCI6MX0%3D)
+
+## 摸鱼周报
+
+[@摸鱼周报 #40](https://mp.weixin.qq.com/s/y4229I_l8aLILR7WA7y01Q):第四十期摸鱼周报来了,一起来看下本期概要:
+
+* 话题:我们启用了新封面
+* Tips:Swift 中的预编译
+* 面试模块:dyld 2 和 dyld 3 的区别;Objective-C 及 Swift 编译流程
+* 优秀博客:包依赖管理工具
+* 学习资料:从头开发一个迷你 Go 语言编译器
+* 开发工具:git 资源库浏览工具 Tig
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+公众号回复「WWDC」可以获取往年《WWDC 内参》,回复「PPT」可获取往期线下沙龙 PPT 材料。
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#189-2022.01.17.md b/Reports/2022/#189-2022.01.17.md
new file mode 100644
index 000000000..85d49a350
--- /dev/null
+++ b/Reports/2022/#189-2022.01.17.md
@@ -0,0 +1,164 @@
+# 老司机 iOS 周报 #189 | 2022-01-17
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 手机 QQ 体积暴增,接近 900M
+
+[@Damonwong](https://github.com/Damonvvong): 上周手机 QQ 迎来今年的第一次升级,给大家带来了一个巨大的 “惊喜”,iOS 版本的安装包已经达到了 879M,有眼尖的网友发现内置了一个 UE4 虚幻引擎,但是用在了哪个功能至今还未发现。手机 QQ 和元宇宙会擦出怎么样的火花,让我们拭目以待 ~
+
+### [“App 分析”现已可用于 app 内活动](https://developer.apple.com/cn/news/?id=pa0x2dzk)
+
+App Store Connect 中的“App 分析”能有效帮助您了解用户如何发现您的 app 并与之互动。您现在可以查看有关 app 内活动的信息,包括活动页浏览量、提醒和通知数据,以及由 app 内活动带来的下载和重新下载次数。每个指标都可以按照地区、来源类型、设备以及更多分类进行查看,让您能轻松了解您的 app 内活动如何推动了 app 的增长和成功。
+
+### 🐎 [字节跳动技术 iOS 技术沙龙正式报名开启](https://mp.weixin.qq.com/s/yPTIOxJtl4BsjkDN0rXDdw)
+
+[@Leo](https://github.com/leomobiledeveloper):字节跳动第三次技术沙龙,本次主题是关于 iOS 开发的,可以通过这次沙龙了解「抖音 iOS 基础技术」的技术细节。本次分享的主题涉及架构、构建、自动化、性能、稳定性等领域,内容很丰富,时间在1月22日下午,进入文章即可免费报名,获取在线观看地址。
+
+## 新手推荐
+
+### 🐎 [iOS 浮点类型精度问题小记](https://juejin.cn/post/7047767024931438605)
+
+[@极速男孩](https://github.com/ztlyyznf001):浮点数精度丢失的问题是不少人都会面临的问题。本文主要介绍了在 iOS 中如何避免精度丢失的问题,并且解析了精度丢失的主要原因。
+
+### 🐎 [Loop](https://www.swiftbysundell.com/basics/loops/)
+
+[@享耳先森](https://github.com/iblacksun):Swift 有多种内置语法对集合类型进行迭代:`for` `forEach` `enumerated()` `while` 等,本文介绍了各种语法的具体差异,建议阅读。
+
+## 文章
+
+### 🌟 🐢 [【译】SE-0302 Sendable 和 @Sendable 闭包](https://kemchenj.github.io/2022-01-07/)
+
+[@四娘](https://kemchenj.github.io/):去年 WWDC 里 Swift 更新了 Concurrency 相关的功能,后续的更新提供了一定程度的向后兼容,让 iOS 13 的程序也可以用上这些功能。
+
+虽然 WWDC 上大部分篇幅都是在介绍 async/await,结构化并发和 Actor,但实际接入过程中这些功能并没有带来太多问题,反而是 Sendable 的检查难住了我,深入了解之后才发现这个功能是帮助 Concurrency 走向 type-safe 的关键。
+
+通过翻译这篇文章解答了很多我在这个过程中的疑惑,非常推荐想要接入 Concurrency 的同学进行阅读:
+
+> Swift Concurrency 的功能渴望建立一个安全而强大的编程模型。我们希望实现这三件事:
+>
+> 1. 我们希望 Swift 程序员在试图 跨并发域传递 可能引入不受保护的共享可变状态 时得到一个静态的编译器错误。
+> 2. 我们希望高阶程序员能够实现包含复杂技术的库(例如并 ConcurrentHashTable),并且能够让其他人以一种安全的方式去使用。
+> 3. 我们需要拥抱现有的世界,其中包含了很多在设计时没有考虑到 Swift 并发模型的代码。我们需要一个平滑和渐进的迁移策略。
+
+### 🌟 🐢 [基于 dylib 注入原理实现 iOS 热重载框架 CocoaHotReload](https://mp.weixin.qq.com/s/XsfYUBD2YK9Tq4cfoGW4JA)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):非常详细的热重载实现原理介绍,支持真机(iOS 13+)、Swift 的 4 种函数派发方式都能支持、支持 Storyboard & xib 资源文件等等。方案十分完整,关键实现也已贴出代码,推荐一读。文章主要内容如下:
+
+- Mac app,主要职责是根据修改文件查找对应的编译指令并执行生成 .o 文件,接着链接 .o 文件及依赖的库生成 dylib 动态库
+- iOS Framework,主要职责是 动态库注入 和 资源包更新
+ - ObjC 类替换,Swift 函数替换,C函数替换(Dobby 实现)
+ - hook 函数处理,解决函数调用栈丢失与死循环的问题
+- 解决 Swift 函数热重载问题
+- 解决部分库设置 Symbol hidden by Default 为 YES 导致的 Symbol not found 问题
+
+### 🌟 🐕 [基于 Web 内核的微信小程序框架实践](https://mp.weixin.qq.com/s/vEu2Ft4c6LHPeUBHChjfFA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 微信小程序技术一直作为业界跨端方案的标杆一样的存在,此次小程序在内核上大跨步式改动,从类 PWA 转入 Chrome 内核以获得在 PC 层面的更多能力,并集成了 Node ,目前还未在 iOS 上应用,但作为跨端方案还是很有借鉴意义的,推荐相关同学深入阅读。
+
+### 🐢 [A short-term roadmap for C++ interop](https://forums.swift.org/t/a-short-term-roadmap-for-c-interop/44768)
+
+[@Damien](https://github.com/ZengyiMa):本文是 Swift 社区提出的 Swift 和 C++ 交互的 roadmap 规划。其中主要目标是希望在接下来的几个月里,Swift 编译器可以完全导入 libc++ 头文件、LLVM 头文件和 Swift 头文件而不崩溃。对 Swift 编译相关感兴趣的同学建议一读。
+
+### 🐢 [Swift 在手淘商品评价的技术重构与实践](https://mp.weixin.qq.com/s/J4wxvr5JvibG7vUtRz3ing)
+
+[@含笑饮砒霜](https://weibo.com/chinafishnews/):本文主要是对手淘探索 Swift 业务落地的一个总结。更快、更安全且更具备表达性的 Swift,这些年明显比 OC 发展的更好,国内外混编应用的占比持续增高,长远来看,使用 Swift 几乎是日常开发的不二之选。对于大型项目,引入 Swift、从哪些业务模块引入 Swift、引入 Swift 对当前项目架构的冲击等都是需要慎重考量的,文中也都有详细阐述,旨在希望可以给大家在技术选型或探索避坑的时候给到一点帮助。
+
+### 🐎 [Xcode 配置多套 App 图标的方法 --- AppStore 图标 A/B Test 实践](https://mp.weixin.qq.com/s/BApDWf9acuFBSONzV2OnEQ)
+
+[@老峰](https://github.com/gesantung):2021 年 12 月 08 日,苹果推出 App Store 产品页的新功能,在 App Store 中开发者可以针对 app 产品页的不同版本上使用不同的图标、截屏和 app 预览,通过 A/B Test 找出效果最佳的版本。本文主要介绍了使用 Xcode 13 在 Assets.xcassets 创建多套测试的图标的操作细节以及要注意的一些点。
+
+### 🐎 [让 UIKit 更优雅易用:Block 回调改造](https://juejin.cn/post/7045133536495403015)
+
+[@JonyFang](https://github.com/JonyFang):HWBlocksUI 对 UITableView,UITextField,UIButton,UISwitch 等常用的 UIKit 类进行了扩展,将之前需要 Delegate 或 target+selector 回调的方式改成了 Block。使用 Block 的优势体现在:
+
+1. 代码紧凑,无需声明协议,可以将相关代码逻辑集中在一起,降低开发调试成本;
+2. 允许访问上下文变量,无需再专门抽出实例变量供不同代理方法共享;
+
+### 🐢 [Cube 技术解读 | Cube 小程序技术详解](https://mp.weixin.qq.com/s/Sm2xtyxPMGucUHtaUy_aOQ)
+
+[@Leo](https://github.com/leomobiledeveloper):在动态化或者跨端开发里,小程序是一个业界典型的实现方案。Cube 是阿里出品的轻量级小程序技术栈,具有体积小、启动快、内存占用低等特点。本文详细介绍了 Cube 小程序技术栈与技术演进实践,包含了布局计算、样式能力、组件支持、引擎优化等方方面面,推荐阅读。
+
+### 🐢 [Swift Playgrounds 4 娱乐还是生产力](https://mp.weixin.qq.com/s/Uyd9Nf12HpmslYR0zOQaEQ)
+
+[@anotheren](https://github.com/anotheren):赶在 2021 年底,苹果终于发布了 Swift Playgrounds 4,作为近年来最具革命性意义的版本,Swift Playgrounds 4 提供了在 iPad 上开发并发行 App 的能力。本文介绍了这个版本的最新功能。如果你还没入门,不妨再读一下下面这个系列:
+
+- [玩转 Xcode Playground(上)](https://mp.weixin.qq.com/s/rHNrTt7CReTLL8aubz0SqQ)
+- [玩转 Xcode Playground(下)](https://mp.weixin.qq.com/s/_kggsB9kL5jYi-40KDMsrQ)
+
+### [一场开源 RSA 库引发的“血案”](https://mp.weixin.qq.com/s/UM_Nrfd2I0oVosD6iQDn5w)
+
+[@老驴](https://weibo.com/u/6090610445):58 同城团队的一篇使用开源库踩坑的分享。简单来说就是 58 团队在使用了开源库后,上线发现频繁崩溃吗,debug 后发现原作者没有正确处理多线程。这类问题其实并不少见,很多人在使用开源库的时候,并没有去仔细调研库,而使用以后出现问题,甚至很难自己修复。也希望这篇文章能对大家是个提醒,最好在用开源库之前,先读一读代码,理解一下代码的意思,这样即便真的踩坑,需要 debug,也会轻松不少。
+
+## WWDC21 内参
+
+### [SwiftUI 技术内幕](https://mp.weixin.qq.com/s/Q8EuaXei9Q0q-3OyD6n9Bw)
+
+通过阅读本文,带你一起深入解读 SwiftUI,提高应用程序的性能。
+
+### [初探 Swift 算法和集合](https://mp.weixin.qq.com/s/WpvuuUXQPwBHZpk8OmuPDg)
+
+本文主要介绍 Swift 的算法和集合开源包。列举了其中的几个算法和数据结构,深入了解 Swift 实现和优化方式。
+
+## 工具
+
+[Automatically merging conflicts in Xcode project files](https://blog.kulman.sk/automatically-merge-xcode-project-conflicts/)
+
+对于大一些的项目工程,参与提交代码的人比较多时,常常会遇到需要处理代码冲突的时候。常规的代码冲突只需要通过代码片段确认逻辑就可以解决,而有些文件格式,可读性很差,解起来很麻烦,例如 Xcode 项目文件(project.pbxproj)。Kintsugi 是一个轻量级工具,可以自动解决 Xcode 项目文件中的冲突。只需要通过 gem 安装:
+```
+gem install kintsugi
+```
+然后执行下面的命令,kintsugi 会帮助解决冲突,非常方便
+```
+kintsugi App/project.pbxproj
+```
+
+## 代码
+
+### [Flipper](https://github.com/facebook/flipper)
+
+[@Barney](https://github.com/BarneyZhaoooo):Flipper 是 Facebook 开源的一个面向移动端(Android/iOS)开发者的桌面调试平台。
+
+其主要包含:
+
+- macOS 的桌面应用程序
+- Android 和 iOS 的原生 SDK
+
+## 摸鱼周报
+
+[@摸鱼周报 #41](https://mp.weixin.qq.com/s/DNXrfZgx0JaXyvfVZ4sYVA):第四十一期摸鱼周报来啦,一起来看下本期概要吧:
+
+- 话题:In-App Events 数据分析上线了;线上沙龙:抖音 iOS 基础技术大揭秘。
+- Tips:在 Objective-C 中标记构造器为指定构造器。
+- 面试模块:如何检测内存泄露。
+- 优秀博客:野指针的捕获与防护。
+- 学习资料:一份可视化的 Web 技能列表。
+- 开发工具:SwiftInfo 是一个 CLI 工具,用于提取、跟踪和分析对 Swift 应用程序有用的指标。
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#190-2022.01.24.md b/Reports/2022/#190-2022.01.24.md
new file mode 100644
index 000000000..d1fbbef98
--- /dev/null
+++ b/Reports/2022/#190-2022.01.24.md
@@ -0,0 +1,183 @@
+# 老司机 iOS 周报 #190 | 2022-01-24
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🌟 🐕 [Bazel](https://bazel.build/)
+
+[@红纸](https://github.com/nianran):Bazel 是最近比较热点的话题之一。作为新的构建系统,它具有远端缓存、远端执行、跨平台、高度扩展、高性能等诸多特性。不仅仅局限于 iOS 的构建领域,在其 Rules 的帮助下,可以扩展很多可能性。
+这边为大家稍作整理,给大家作为参考:
+- 几篇入门:
+ - [Bazel 官网](https://bazel.build/)
+ - [Bazel 入门 - 放浪者](https://zhuanlan.zhihu.com/p/262171925)
+ - [Bazel - Sunxxxxx丶](https://www.jianshu.com/p/727cbf544c47)
+- 几篇分享:
+ - [用 bazel 更快更稳定的构建 iOS 项目](https://bilibili.github.io/2020/07/22/bazel_ios.html)
+ - [基于 Bazel的 iOS MonoRepo 实践](https://mp.weixin.qq.com/s/zFrKoHPBv3qz8TiwdqP8Fw)
+ - [Improving Build Performance of LINE for iOS with Bazel](https://engineering.linecorp.com/en/blog/improving-build-performance-line-ios-bazel/)
+- 几个工具、库:
+ - [PodToBUILD](https://github.com/pinterest/PodToBUILD):将 Cocoapods 的仓库转化为 Bazel 的 BUILD 文件
+ - [cocoapods-bazel](https://github.com/bazel-ios/cocoapods-bazel):Cocoapods 的 bazel 插件
+ - [tulsi](https://github.com/bazelbuild/tulsi):将 Bazel 的 BUILD 工程转成 Xcode 识别的 xcodeproj 工程
+ - [xchammer](https://github.com/pinterest/xchammer):将 Bazel 的 BUILD 工程转成 Xcode 识别的 xcodeproj 工程
+- Awesome Rules:
+ - [bazelbuild/rules_apple](https://github.com/bazelbuild/rules_apple)
+ - [bilibili/rules_apple](https://github.com/bilibili/rules_apple)
+ - [line/rules_apple_line](https://github.com/line/rules_apple_line)
+
+> PS1: 内容比较多,大家可以慢慢消化一下。关于 Bazel 的讨论,也欢迎加入我们粉丝群进行交流,详情 @老王。
+> PS2: 字节于 2022/01/22 进行了 JoJo 构建系统的分享,Bazel 作为其核心的组成部分之一。分享文章跟视频暂时没有发布,大家可以等待一下。
+
+### 🌟 🐕 [GCDAsyncSocket 在 iOS15 出现 -[_NSThreadPerformInfo dealloc] 崩溃排查笔记](https://mp.weixin.qq.com/s/Tn8SN1eNaGkR1ddEKTkzPQ)
+
+[@邦Ben](https://weibo.com/linwenbang):从 iOS 15.0 Beta5 开始,集成开源库 GCDAsyncSocket 的 APP 开始出现 -[_NSThreadPerformInfo dealloc] 相关的崩溃,作者从堆栈开始分析,讲述整个排查过程思路,并且每个步骤的分析以及原理都进行了很深入的研究,从而得到了最后的 crash 原因以及给出解决方案,结论先放出来,但是过程非常推荐一看。
+
+- 结论:经过前面的分析,我们可以得知,iOS 的新系统中存在一个 bug,该 bug 导致即使我们通过将参数waitUntilDone 设置为YES 的方式阻塞当前线程时,仍然存在触发悬垂指针的可能。
+- 方案:
+ 1、通过单例持有 GCDAsyncSocket,避免调用 -[GCDAsyncSocket dealloc]
+ 2、先主动调用-[GCDAsyncSocket disconnect],再释放GCDAsyncSocket的实例
+ 3、通过调整withObject:的参数,避免将 GCDAsyncSocket 的实例进行传递
+
+### 🐕 [浅谈软件开发架构模式](https://mp.weixin.qq.com/s/cWp4J-XmvaoWHRMeuVDzPQ)
+
+[@Smallfly](https://github.com/iostalks):架构对开发者来说都不陌生,然而相同的架构模式在不同场景下可能有所区别。本文作者结合具体的问题和案例,从个人角度阐述了对 MVC/MVVM/VIPER 等架构模式的理解及运用。
+
+### 🌟 🐕 [字节跳动 iOS Heimdallr 卡死卡顿监控方案与优化之路](https://mp.weixin.qq.com/s/qzA1g4mAH_Kgzc4fwVK2Rw)
+
+[@Leo](https://github.com/leomobiledeveloper):卡顿、卡死会造成应用体验大幅下降,进而影响留存、时长等核心业务数据。本文介绍了字节 APM 框架 Heimdallr 是如何监控卡顿卡死的,细节在字节系应用上验证和完善,被证明了是一套全面、稳定、可靠的技术方案。
+
+### 🐢 [移动域全链路可观测架构和关键技术](https://mp.weixin.qq.com/s/grW6r_cpmrxEJ-pMacKtGg)
+
+[@xiaofei86](https://github.com/xiaofei86):监控告诉我们系统的哪些部分是工作的,而可观测性告诉我们那里为什么不工作了[[1]](https://xie.infoq.cn/article/598fd893709f01ae751dbd7b8?utm_medium=article)。相比传统的监控,可观测性能够通过结合数据,并且将数据有机联系在一起,产生更好的连接,帮助我们更好的观察系统的运行状况,快速定位和解决问题。
+
+本文淘宝 App 基础团队通过对可观测理念的理解并结合客户端在运维排查、度量监控、全链路优化等方面遇到的实际问题,阐述团队对移动领域全链路技术理念的原创性应用。读者将收获移动技术域体验优化的思路转变,以及软件定义体验的沉淀和研发实践。
+
+### 🐕 [iOS 如何记录堆栈信息?](https://juejin.cn/post/7049267131036205086)
+
+[@AidenRao](https://weibo.com/AidenRao):在 APP 卡顿、Crash 以及某些特定时机,开发者会想记录一下当前的堆栈信息。这篇文章主要从 [BSBacktraceLogger](https://github.com/bestswifter/BSBacktraceLogger) 源码入手,去理清记录堆栈信息的原理:回溯栈帧,获得函数调用地址,解析 MachO 文件获取函数名。
+
+### 🌟 🐕 [从 0 到 1:美团端侧 CDN 容灾解决方案](https://mp.weixin.qq.com/s/BA55Op8A29sXq-_SHv1igg)
+
+[@JonyFang](https://github.com/JonyFang):本文结合美团外卖业务中的具体实践,介绍了一种在端侧感知 CDN 可用性状况并进行自动容灾切换的方案,通过该方案可有效降低业务对CDN异常的敏感,提高业务的可用性,同时降低CDN运维压力。
+
+### 🐎 [静态库冲突问题思路全解](https://mp.weixin.qq.com/s/LAFS-6Oycnzu5kOhS9d7pA)
+
+[@AidenRao](https://weibo.com/AidenRao):iOS 开发中经常会遇到静态库冲突的问题,Xcode 报错关键词是duplicate symbol xxx,造成冲突的常见原因一般有两种:
+
+- 项目中引入了命名不同的同一个静态库。
+- 引入了不同的 SDK,SDK 中引用了同一个静态库。
+
+本文介绍了解决冲突的多种方案,并对优缺点进行了对比。
+
+### 🐕 [淘宝小部件 Canvas 渲染流程与原理全解析](https://mp.weixin.qq.com/s/o772Ziaxj64IOXXnckPFNQ)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文主要阐述 Canvas 在小部件下的渲染原理。从端上技术视角看,小部件首先是一个业务容器,它的特点是**DSL标准化、跨平台渲染、跨场景流通**
+
+- **端侧整体技术架构**
+- **多视角看渲染流程**
+
+### 🐎 [從前端視角看 SwiftUI](https://blog.kalan.dev/2022-01-09-learn-swiftui-from-frontend-view/)
+[@Smallfly](https://github.com/iostalks):SwiftUI 和 React 同为声明式框架,在使用上存在相似之处。本文站在前端视角,分别从组件化,响应式机制,状态管理,数据绑定等几个维度对比了两者使用上的异同点。而在开发体验上,Swift 作为静态编译型语言和 JavaScript 的动态性相比仍有差距。
+
+### 🐎 [Apple’s use of Swift and SwiftUI in iOS 15](https://blog.timac.org/2021/1219-state-of-swift-and-swiftui-ios15/)
+
+[@anotheren](https://github.com/anotheren):在最新的 iOS 15 中,Swift/SwiftUI 在内置 App 的使用率进一步提升,如果你还在犹豫新技术的使用,看看 Apple 对于有内置 App 的改变。
+
+### 🌟 🐕 [iOS 之深入理解 Image 与 MachO](https://juejin.cn/post/7053289480131706911)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了 Mach-O 以及其三个主要部分:Header、Load Commands 和 Data 的数据结构和功能。也介绍了 image、 Segment 和 Section 的相关操作 API
+
+### 🌟 🐕 [iOS 线上野指针探测实践与展望](https://mp.weixin.qq.com/s/BNIWBwemmz4isbjBb9-pnQ)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):野指针问题线下难以复现,crash发生时的堆栈也大概率不是问题的直接原因,因此线上的野指针检测方案是很值得探索的。为了尽量减小对帧率与内存的影响,作者也进行了三个方向的优化:
+
+- 仅监控必要的类型,对于系统类则通过基于 Bind 信息的方案,监控项目中使用到的系统类
+- dealloc 中减少耗时操作:不要调用任何 OC 代码、不要使用 objc_setAssociatedObject、先判断 isTaggedPointer
+- 多线程处理对象释放与入池;用堆栈距离 (UInt64)&_mh_execute_header 的偏移替代堆栈,用 memcpy 替代 vm_read_overwrite
+
+### 🐕 [用 SwiftUI 实现一个开源的 App Store](https://juejin.cn/post/7051512478630412301)
+
+[@JonyFang](https://github.com/JonyFang):App Store 在 iOS 11 之前,App 排行榜一直是衡量开发者 App 活跃度的指标,在 iOS 11 后苹果弱化了榜单功能,改为了二级入口,相对之前榜单查询变得困难。编者通过 SwiftUI 结合开放 API 实现了一个可查看 App 榜单、搜索、信息、发布生效等功能的 App,该项目已开源。入门 SwiftUI 的同学,可以作为参考项目学习 SwiftUI。
+
+### 🌟 🐕 [干货 | Dart 并发机制详解](https://mp.weixin.qq.com/s/WCvv7DXzWXNRaMtM-0u7pA)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): 在日常的 Flutter 开发中最常接触到的便是 async-await 异步机制,鲜少有碰到使用 isolate 的情况,本文从 async-await 切入带你详细了解 isolate 的原理,生命周期、多 isolate 之间通信等,小编推荐所有 Flutter 开发同学仔细学习。
+
+### 🐕 [在 SwiftUI 下定制手势](https://mp.weixin.qq.com/s/V_8jP3OPJa58eRz442LlQA)
+
+[@老峰](https://github.com/gesantung): SwiftUI 目前提供了 5 种预置手势,分别为点击、长按、拖拽、缩放和旋转,其本身没有采用对 UIGestureRecognizer(或 NSGestureRecognizer)进行包装的形式,而是重构了自己的手势体系,由于缺乏提供底层数据的 API,严重制约了开发者的深度定制能力,本文通过如下示例讲解了 SwiftUI 下定制手势:
+- 轻扫:DragGesture 获取判断移动方向的数据,根据偏移量判断方向
+- 实现一个可以记录时长的按压手势:通过计时器在指定时间间隔后向闭包传递当前按压的持续时间。使用 GestureState 保存点击开始的时间
+- 实现提供触摸位置信息的点击手势:使用 simultaneously 将两种手势联合起来,从 DrageGesture 中获取位置数据,从 TapGesture 中退出
+
+### 🐕 [iOS瘦身!一个让50%本地图片消失的方案](https://juejin.cn/post/7053978539523047437)
+
+[@水水](https://www.xuyanlan.com): 安装包瘦身一直是老生常谈的问题,这篇文章尝试了一个比较有意思的图片管理尝试 - 云端图片资源管理方案。基本思路是把可能未使用的图片通过脚本剔除出项目,在App启动后动态加载那些被剔除图片的zip包。具体实施方案和注意事项文章中都有提到,正在为安装包瘦身烦恼的读者朋友,感兴趣的可以看看~
+
+### 🐕 [手机 APP 是不是在偷听我说话?](https://mp.weixin.qq.com/s/FCOrMXeV53YcoKgQ869aYw)
+相信很多读者会有一个疑问,手机是不是在偷听我说话?可能今天刚刚跟同事说了买什么东西,结果一打开某个 app,第一页就正好显示了刚说的东西,这看起来很可怕。最近一期“猿桌派”节目,几位嘉宾就告诉了我们这个问题的答案,想知道答案的不妨听一听这期界面,除了这个问题,还有很多关于数据打点等的干活哦。
+
+## 摸鱼周报
+
+[@摸鱼周报 #42](https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU2MDQzMjM3Ng==&scene=124#wechat_redirect):第四十二期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:2022年1月31号之后提交的应用需提供账号删除功能。
+* Tips:openssh 8.8 默认禁用 ssh-rsa 加密算法导致 git 验证失效。
+* 面试模块:如何治理 OOM。
+* 优秀博客:一些优秀开发者的年终总结。
+* 学习资料:程序员考公指南;Vim 从入门到精通(中文)。
+* 开发工具:摸鱼单词,专注于利用碎片时间学习记忆英语单词。
+
+## 代码
+
+### [XMachOViewer](https://github.com/horsicq/XMachOViewer)
+
+[@Damien](https://github.com/ZengyiMa):XMachOViewer 是支持 Windows、Linux 和 MacOS 的 MachO 文件查看器和编辑器。它具备以下能力:
+
+* 启发式扫描
+* 字符串查看器
+* 十六进制查看器
+* 汇编查看器( x86/64, ARM, PPC, m68k)
+* 熵值查看器
+* 哈希查看器
+* 密码搜索
+* 名称符号解析
+
+
+### [PAG](https://mp.weixin.qq.com/s/FncvW2ObIJGafk4X7EAZ-A)
+[@莲叔](http://github.com/aaaron7):PAG 是近期技术社区比较热门的话题。PAG 是腾讯出品的一款特效 SDK,能够直接将设计师在 AE 设计的特效转换后直接在手机端展示,应用场景复杂的可以延伸至视频编辑的各种转场、贴纸特效,简单的也可以作为 Lottie 的替换,来实现端内一些 UI 动画效果。腾讯开放这款 SDK 的使用已经有一段时间,近期正式宣布了开源。开源意味着接入的成本与风险大大降低,对于业务有了更大的可控性,同时能享受到 PAG 的各种性能优化。如果你的业务有相关的场景,不妨可以了解一下。
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#191-2022.02.14.md b/Reports/2022/#191-2022.02.14.md
new file mode 100644
index 000000000..a600f47e5
--- /dev/null
+++ b/Reports/2022/#191-2022.02.14.md
@@ -0,0 +1,159 @@
+# 老司机 iOS 周报 #191 | 2022-02-14
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [非公开 app 分发](https://developer.apple.com/cn/support/unlisted-app-distribution/)
+
+AppStore 现在已经支持将不适合公开分发的 app 以非公开方式在 App Store 上发布,使其仅可通过直接链接发现。非公开 app 不会出现在任何 App Store 类别、推荐、排行榜、搜索结果或其他列表中。但可以通过 Apple 商务管理和 Apple 校园教务管理访问。面向特定组织、特别活动或调查研究的 app,或者用作员工资源或销售工具的 app,都非常适合进行非公开分发。
+
+### [Apple Ads 现已支持自定产品页](https://developer.apple.com/cn/news/?id=ay7673lx)
+
+
+
+借助自定产品页功能,您可以创建多达 35 个额外的 App Store 产品页版本,以展示您 app 的不同功能、内容或促销活动。现在,自定产品页更与 Apple Ads 无缝集成,助您轻松地在 App Store 上针对不同受众群量身打造更好的广告版本。
+
+## Developer - 设计开发加速器
+
+### [探索 A15 芯片的 Metal 高级功能](https://developer.apple.com/cn/accelerator/)
+
+2022 年 2 月 15 日(报名截止 2022 年 2 月 14 日)
+
+通过本次演讲您将了解如何使用 Metal 和 A15 芯片提升 app 和游戏的性能。我们将介绍 Apple GPU Family 8 的最新 Metal 功能:如何运用低损压缩节省内存,通过稀疏深度和模板纹理深入研究复杂的阴影映射技术,以及借助 SIMD 混洗和填充指令更快地处理图像。
+
+### [在您的 App 中构建隐私保护](https://developer.apple.com/cn/accelerator/)
+
+2022 年 2 月 17 日 (报名截止 2022 年 2 月 17 日)
+
+Apple 认为隐私是一项基本人权。我们将会带大家了解我们的四项核心隐私原则,以及您如何运用这些原则实现 app 特性和提升用户体验。探索您该如何在 app 中实现数据最小化、本机处理、透明度和控制权以及安全保护措施。
+
+
+
+## 新手推荐
+
+### 🐎 [Combining protocols in Swift](https://www.swiftbysundell.com/articles/combining-protocols-in-swift/)
+
+[@享耳先森](https://github.com/iblacksun):`Protocol` 是 `Swift` 中非常重要的基石,可以实现代码复用。本文详细介绍了利用 `Protocol` 的 `Extension` 及 `Conform` 特性实现代码复用与隔离。
+
+### 🐎 [Swift 演进之路](https://ming1016.github.io/2022/02/10/swift-evolutionary-path/)
+
+[@老峰](https://github.com/gesantung):本篇主要梳理了 Swift 1.0 ~ Swift 5.5 演进过程中各版本新增的特性,Codable、dynamicCallable、SPM,Async await,能够更加全面和详细了解 Swift 语言的发展,文章中提到的 Swift 各版本的语法示例代码,及本文内容都可以在 Swift 小册子里对应栏目里找到,Swift 初学者推荐阅读。
+
+### 🐎 [Swift 子数组提取性能优化分析](https://mp.weixin.qq.com/s/5oZkKX03C4DBUcN16f9u3w)
+
+[@xiaofei86](https://github.com/xiaofei86):本文通过对 for 和 while 的对比,逐个赋值与 memcpy 的对比,以及不同编译选项 Optimization Level 的对比,得出在极限情况下提取 Swift 子数组的最佳性能方案。阅读原文了解各种方案选型的取舍。
+
+## 文章
+
+### 🌟 🐕 [如何监控 iOS 的启动耗时](https://ai-chan.top/code/launch-monitor/#hook-%E5%8D%87%E7%BA%A7%E6%96%B9%E6%A1%88)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文通过 IPC 方案监控用户的启动耗时,方案与[抖音通过 applicationDidBecomeActive:](https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247487757&idx=1&sn=a52c11f6a6f217bd0d3283de9b00c8bc&chksm=e9d0daefdea753f954cfcb15d5d0f90302a9f45ba06968377644ffe9e5757a69c5b0132d2c8b&scene=178&cur_album_id=1568330323321470981#rd)有些不同,理论上更接近真实用户体验。技术方案为通过 hook BSXPCServiceConnectionMessageReply 的 @selector(send) 实现。
+
+本文主要内容如下:
+- 介绍 iOS 的渲染机制 Render Loop
+- 分析 Render Loop 中的 Commit 阶段
+- 尝试 hook 系统 api 实现,初次的目标函数由于调用是由 b 直接跳转而失效,最终通过 hook send 方法得以实现
+
+### 🌟 🐕 [超全回顾 | 5位抖音工程师揭秘抖音iOS基础技术(附PPT和回放视频)](https://mp.weixin.qq.com/s/dFkGjCgZeXbYxsu3F40L-Q)
+
+[@J_Knight_](https://github.com/knightsj):本文整理了在今年1月22日下午举办的第三期字节跳动技术沙龙《抖音 iOS 基础技术大揭秘》的5个主题内容,分别是:
+1. 《大型 App 开发架构演进及挑战》
+2. 《抖音 iOS 自动化服务:容器化和规模化探索》
+3. 《超级 App 构建效能提升 40%!JOJO,字节自研 iOS 构建系统》
+4. 《抖音 iOS 体验优化:流畅性优化探索》
+5. 《抖音 iOS 稳定性优化与探索》
+
+对这些主题感兴趣的读者可以按需阅读,而且文章底部也有获取 PPT 和回放视频的方法
+
+### 🌟 🐕 [音视频基础概念合集:148 个问题带你快速上车音视频](https://mp.weixin.qq.com/s/X1idBFp7T5zhnqPmYSbQDw)
+
+[@JonyFang](https://github.com/JonyFang):音视频是一个有一定技术门槛的垂直领域,对于刚开始接触音视频开发的同学,最头疼的问题应该是音视频纷繁庞杂的概念。本文通过 148 个问题带你快速了解音视频基础概念,对音视频开发感兴趣的 iOS 开发同学也许有用。
+
+### 🐎 [WWDC NOTES](https://www.wwdcnotes.com/)
+
+[@Smallfly](https://github.com/iostalks):[WWDC NOTES](https://www.wwdcnotes.com/) 涵盖近十年 WWDC 视频的观看笔记,数量达上百篇,是一个开源社区驱动的网站。
+
+推荐结合老司机周报出品的 [WWDC 内参](https://xiaozhuanlan.com/wwdc21)阅读。
+
+### 🐕 [WebAssembly 2021 年回顾与 2022 年展望](https://mp.weixin.qq.com/s/aKNfdQIMC_uJ6Fx7SytdBA)
+
+[@邦Ben](https://weibo.com/linwenbang):该文对 WebAssembly 2021 年的发展做了归纳总结,以及对 2022 年的发展做了一些的预测。很多人可能对 WebAssembly 比较陌生,WebAssembly(缩写为 wasm)是一种使用非 JavaScript 代码,并使其在浏览器中运行的方法。这些代码可以是 C、C++ 或 Rust 等。它们会被编译进你的浏览器,在你的 CPU 上以接近原生的速度运行。目前还在发展阶段中,对 web 或者做跨端开发的同学可以多关注一下,未来没准 WebAssembly 的使用场景会更加宽泛。
+
+参考链接:
+[WebAssembly 开发者引导](https://www.wasm.com.cn/getting-started/developers-guide/)
+[几张图让你看懂WebAssembly](https://www.jianshu.com/p/bff8aa23fe4d)
+
+### 🐢 [深入剖析 iOS 编译 Clang / LLVM](https://xiaozhuanlan.com/topic/4916328705)
+
+[@Damien](https://github.com/ZengyiMa):本文深入且细致的介绍了 Clang / LLVM 编译器在构建一个 iOS 应用中各个流程所做的事情以及实现,从编译器的视角出发来阐述了编译过程的方方面面。对底层感兴趣的同学不妨一读。
+
+### 🐎[Swift 汇编(一)Protocol Witness Table 初探](https://mp.weixin.qq.com/s/dvWVnU7ZWiSIvQZBhWXnSw)
+
+[@kemchenj](https://kemchenj.github.io/):这篇文章从汇编的角度去解析 Swift 里通过 Protocol Witness Table 派发函数的原理,感兴趣的同学可以看一看。
+
+## WWDC 内参
+
+### [为 Swift 和 SwiftUI 带来 Core Data 并发](https://mp.weixin.qq.com/s/ELsrzsUtMv-rdXyPAN3ERA)
+
+@SZ: 今年 Core Data 上带来了大量的功能增强,其中包括使用了 Swift 并发的新 API。 这些变化改善了使用 Core Data 进行 Swift 和 Swift UI 开发的体验,简化了异步数据操作的程序,因此我们推荐大家学习并逐渐开始使用这些新的 API。
+
+### [App Clip 新特性](https://mp.weixin.qq.com/s/q8eptavjMvp48oppJ8F3cA)
+
+@昊泽: App Clip 是 WWCD20 的一大亮点,它提供了一种“即时使用”的方式,基于苹果提供的各种唤醒方式,让用户在特定场景下很方便地体验 App 内的核心功能。
+
+现在一年过去了,世界各地的开发者开发出了各种优秀的 App Clip。同时 Apple 提供了一种全新的 App Clip Card 的展示方式,也一并完善和优化了本地体验,并提供了命令行工具来帮助开发者们生成轻应用码。
+让我们一起来看看吧。
+
+### [再谈 watchOS 的数据传输](https://mp.weixin.qq.com/s/2DyDCknWzbLoFrVhyqaCdw)
+
+@Chars: 介绍 iCloud、Keychain、Watch Connectivity、Core Data 等这几种 Watch 支持的数据传输技术,简单说明它们的技术特点并进行优缺点比较。
+
+### [watchOS 8 中的新特性](https://mp.weixin.qq.com/s/VppEWHOZO4nsOJU5oanIAg)
+
+@kk: 第一段介绍了 Watch OS 8 中的很多新功能,包括 App 支持常亮显示,健康数据后台刷新等。第二段是代码编程环节,带领读者通过 Swift UI 构建了一个简单训练类应用。
+
+## 代码
+
+### [Cokile/TweaKit](https://github.com/Cokile/TweaKit)
+
+[@JonyFang](https://github.com/JonyFang):一个可替代 [SwiftTweaks](https://github.com/Khan/SwiftTweaks) 的轮子:
+
+1. 使用 Property Wrapper 定义 tweak;
+2. 原生支持 tweak 更多类型的值;
+3. 精心设计的 UI;
+4. 支持模糊搜索;
+5. 支持 json 数据的导入导出;
+
+## 摸鱼周报
+
+[@摸鱼周报 2021年度汇总](https://mp.weixin.qq.com/s/KPCx5jq9vn46MKziBUP0yQ):不知不觉摸鱼周报已经发展满一年了,回顾一下我们已经发布了非常多的内容。很多东西大家可能看完就忘了,但技术内容不比新闻,它基本不存在时效性,所以即使过去了一段时间,那些内容仍然是有价值,有生命力的。
+
+我将各期内容按模块分类进行了整理,分为学习资料、开发工具、面试题,优秀博客,开发概念五个模块,然后整理成一个 PDF。PDF 可以点击链接外跳,这一点会比公众号阅读体验好很多。全部汇总完毕,字数将近 96000 字,共有 272 页,还是满满当当的。
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#192-2022.02.21.md b/Reports/2022/#192-2022.02.21.md
new file mode 100644
index 000000000..6e3090c16
--- /dev/null
+++ b/Reports/2022/#192-2022.02.21.md
@@ -0,0 +1,176 @@
+# 老司机 iOS 周报 #192 | 2022-02-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### 🌟 🐕 [Flutter 2.10 现已发布](https://mp.weixin.qq.com/s/FgMu6-O_wMkwxp2yxiW2Ew)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 2.10 已经发布,2022 年的第一个 Stable 版本,按照惯例每个季度只会发布一个 Stable 版本,所以每一个 Stable 版本都是成吨的优化和性能改进:
+- Flutter 构建 Windows 桌面应用 Stable
+- 引擎的性能改进
+ - 绘制脏区管理
+ - 更快的类型流分析实现
+- 平台侧更新
+ - iOS 平台键盘动画优化
+ - iOS 9.3.6 的⽀持进入尾声,计划在 Q3 放弃对 iOS 9 和 10 的支持
+ - Android 版本支持配置更新
+ - Web 文本框滚动 bugfix
+- Material 3
+- 开发工具更新
+ - DevTools 命令行改进以及调试窗口对大型列表展示优化
+ - VS Code 着色器增强( Color 类可弹出着色面板)
+
+### 🌟 🐢 [Apple 开源 dyld4](https://github.com/apple-oss-distributions/dyld/blob/main/doc/dyld4.md)
+
+[@Leo](https://github.com/leomobiledeveloper): 近期 Apple 开源了 dyld4 的源码,不同于以往,这次在开源的同时还附带了相对完善的文档,所以对开发者阅读体验更加友好,不用从零开始自己梳理逻辑了。dyld4 保留了相同的 mach-o 解析器,引入了 JustInTime 的加载器来优化 dyld3 闭包失效时候需要重建闭包的性能问题,推荐对底层原理感兴趣的同学阅读。
+
+
+## 文章
+
+
+### 🌟 🐕 [FFmpeg 工具:客户端音视频开发的必备工具](https://mp.weixin.qq.com/s/Rl7fxOP-YH37mQEvGxhfUA)
+
+[@JonyFang](https://github.com/JonyFang):FFmpeg 是从事音视频开发最常用的工具和三方库之一,我们可以用它来进行多种格式音频和视频的录制、转换、流处理功能。对对音视频感兴趣的 iOS 开发同学来说,FFmpeg 会是必不可少的工具。本文主要是对 FFmpeg 的常用功能做了详细的介绍。
+
+本文内容框架:
+- ffmpeg 常用命令介绍;
+- ffplay 常用命令介绍;
+- ffprobe 常用命令介绍;
+
+### 🌟 🐕 [可视化音视频分析工具:音视频原始数据、编码、封装分析好用工具集锦](https://mp.weixin.qq.com/s/jCYih3qgEIUctuWxn0aTGQ)
+
+[@JonyFang](https://github.com/JonyFang):在音视频开发中,FFmpeg 是必不可少的工具之一,但 FFmpeg 主要是命令行形式。为了方便、快捷、直观的分析音视频数据,最好能有一些可视化的分析工具来协助开发,本文主要介绍了一些常见的可视化音视频分析工具。
+
+本文内容框架:
+- 音画原始数据分析工具介绍;
+- 编码数据分析工具介绍;
+- 封装格式分析工具介绍;
+
+### 🐢 [阿里卖家 Flutter for Web 工程实践](https://mp.weixin.qq.com/s/pai_9kJuAdD0RoZOdemL9w)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文详细介绍了 FFW(Flutter for Web) 落地的全过程,从选择分支版本、迁移代码、发布构建、产物精简、兼容性踩坑 等多个方面全面介绍。最终能够取得不错的业务收益,一路艰辛,欢迎大家阅读。
+
+插外说一句,选型还是要谨慎,toB 产品还好,toC 低端机用户较多且弱网的情况下,一个较大的 js 的资源包加载就足以影响用户体验了,期待团队的后续优化方案。本文的具体目录如下:
+
+- 工程基础:Flutter 版本选择、Dart 代码复用、平台相关插件
+- 发布体系:工程构建(选择 HTML 渲染)、产物精简和处理、页面发布
+- 能力支持:页面路由和地址、JS 调用、打点监控
+- 优化和兼容:骨架图避免白屏、JS 资源拆包、兼容问题解决
+
+### [hacker-laws: 软件开发人员常用定律](https://github.com/nusr/hacker-laws-zh)
+[@莲叔](http://github.com/aaaron7):在软件开发的过程中,有很多前人的经验和努力凝结而成的定律,比如摩尔定律,破船效应等等。这些原则总能够在项目开发过程中举棋不定的时刻来指导和帮助我们做出决定。这篇文章可以说是把软件开发中常见的定律、原则和模式做了一个汇总,非常有参考意义,并且每一个原则都给出了延伸阅读的资料,来帮你了解原则诞生的背景与故事,兼具了趣味性。总的来说,是非常不错的周末读物。
+
+### 🐎 [Xcode 常见 CLI 工具](https://mp.weixin.qq.com/s/jF6mTsxC2xtn8Xp1Mn72Zw)
+
+[@Smallfly](https://github.com/iostalks):在日常开发中,或多或少都会用到 Xcode 内置的一些命令行工具(CLI),但是大部分小伙伴可能只是会用到一部分具体的命令。
+
+本文较全面的介绍了 Xcode 内置的 20 种 CLI,主要分为六类:
+- 前置工具
+- 符号表相关
+- 构建相关
+- 工具链相关
+- 工具相关
+- Mach-O 操作相关
+
+### 🐎 [Unobtrusive runtime warnings for libraries](https://www.pointfree.co/blog/posts/70-unobtrusive-runtime-warnings-for-libraries)
+
+[@老峰](https://github.com/gesantung):写代码的过程中,API 调用的一部分错误是无法通过类型检查处理的,但直接 fatalError 也不好,在业务层使用 #if DEBUG 进行检查也很容易错漏。Point-Free 就在这篇文章里就为我们介绍了更好的处理方式,通过代码进入断点,亦或者是通过 Xcode 抛出 Runtime Warning,给上层用户更好的提示,并且将这些逻辑封装起来,感兴趣的同学可以尝试。
+
+### 🐕 [iOS自动化测试框架Kiwi的使用介绍及原理分析 - 掘金](https://juejin.cn/post/7060780751700099080)
+
+[@Barney](https://github.com/BarneyZhaoooo):本文较为深入的分析了Kiwi的功能、实现原理,以及一些比较容易被忽略的机制。它有语义清晰,实现方式优雅等优点,用它写出来的测试代码会有很好的可读性。文章同时也给出示例,从实际场景分析其原理。
+
+- **Spec**
+- **Mock & Stub**
+- **Expectation, Verifier and Matcher**
+
+### 🐕 [高级 SwiftUI 动画 — Part 1:Paths](https://mp.weixin.qq.com/s/5KinQfNtcovf_451UGwLQQ)
+
+[@水水](https://www.xuyanlan.com): 在本文中,结合原理和例子深入的探讨了一些创建 SwiftUI 动画的高级技术。
+
+- Animatable
+- animatableData
+- GeometryEffect
+- AnimatableModifier
+
+这些都是被官方文档完全忽略的主题,在 SwiftUI 的帖子和文章中也几乎没有提及。本文(Part 1)中介绍了 Animatable 和 animatableData。后续的 Part 2中将介绍 GeometryEffect , Part 3中将介绍 AnimatableModifier。
+
+### 🐕 [“一把梭:REST API 全用 POST”](https://coolshell.cn/articles/22173.html)
+
+[@四娘](https://kemchenj.github.io/):大家在工作中,可能遇到过各种各样风格的 API 定义,那么到底什么样的 API 定义才是合理的?本文从 v2ex 的一个问题开始,探讨为什么 HTTP 需要不同的动词,POST 是否安全,对于其它上下游基础架构功能的构建会产生什么影响等等的问题。另外留言区也有一些针对实际业务场景的提问和回答,推荐大家阅读。
+
+### 🐢 [LLVM中文网](https://llvm.liuxfe.com/docs/)
+
+[@红纸](https://github.com/nianran):这是一个 LLVM 学习站点,少有的中文版本 LLVM 文档网站。站内含有 LLVM 使用指南、编程文档、子系统文档、Pass 编写等多个主题内容。对底层感兴趣的同学不妨看一看。
+
+## 代码
+
+### 🌟 [百度网盘开源依赖注入框架 CarbonGraph](https://github.com/baidu/CarbonGraph)
+
+[@xiaofei86](https://github.com/xiaofei86):百度网盘开源依赖注入框架 CarbonGraph,框架使用 Swift 编写同时兼容 ObjC,提供完整的依赖注入能力(构造器注入、属性注入、方法注入、工厂注入)。你可以将类之间的依赖关系交给 IOC 容器来构建,使用框架定义的 DSL 能够方便地进行配置。
+构建更有利于测试和替换的松散耦合关系,可以实现不同业务对中台服务的个性化配置,也可以仅仅用来解决组件化中模块间直接依赖的问题。简单的使用示例如下所示,阅读原文了解更多信息。
+
+```swift
+let context = ObjectContext()
+let definitionBuilder = Definition("filevc")
+ .protocol(UIViewController.self)
+ .object(FileViewController())
+context.register(builder: definitionBuilder)
+context[UIViewController.self, name: "filevc"]
+```
+
+```swift
+let context = ObjectContext()
+let definitionBuilder = Definition()
+ .object(FileManager() as FileManagerProtocol)
+context.register(builder: definitionBuilder)
+context[FileManagerProtocol.self]
+```
+
+## 摸鱼周报
+
+[@摸鱼周报 #43](https://mp.weixin.qq.com/s/Ktk5wCMPZQ5E-UASwHD7uw):第四十三期摸鱼周报来了,一起来看下本期概要吧:
+
+* 话题:dyld4 开源了
+* Tips:Fix iOS12 libswift_Concurrency.dylib crash bug
+* 面试模块:Synchronized 源码解读
+* 优秀博客:Swift Protocol 进阶
+* 学习资料:南大软件分析课程,iOS 开发学习图谱
+* 开发工具:贝尔实验室开发的有向图/无向图自动布局应用,支持 dot 脚本绘制结构图,流程图等。
+
+本期还有一个人物访谈:[人物访谈 | 东坡肘子:健康&开发](https://mp.weixin.qq.com/s/SO5UN1JGsjnQG5zyQMDRew),肘子是一位专注于 Swift 领域优秀博主。之前的一段时间经历过一场大病,本期访谈一方面聊一下他的独立开发和博主日常,另一方面则会聊些健康相关话题,希望大家能够重视自己身体发出的各类异常信号,任何阶段都应以身体为重。
+
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#193-2022.02.28.md b/Reports/2022/#193-2022.02.28.md
new file mode 100644
index 000000000..c9091e92d
--- /dev/null
+++ b/Reports/2022/#193-2022.02.28.md
@@ -0,0 +1,104 @@
+# 老司机 iOS 周报 #193 | 2022-02-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 文章
+
+### 🐎 [【StoreKit2 JWS 签名验证】Code-Level Support 下的 X.509 证书链验证之旅](https://juejin.cn/post/7039622474274701348#heading-14)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文提供了通过 PHP 实现服务端校验 JWS 票据真实性的具体实现代码,并附上了与苹果 PKI 团队的邮件交流记录,也很有意思: ~~beg you~~ 以及加上代码注释以明确问题的理解一致等。[苹果根证书下载地址](https://www.apple.com/certificateauthority/)。
+
+### 🐎 [iOS 逆向工具:逆向做的好,码农下班早丨音视频工具](https://mp.weixin.qq.com/s/QhVyUzyZN_h1qjEZhO9jYQ)
+
+[@Barney](https://github.com/BarneyZhaoooo):App 逆向工程是做竞品分析的常用方法,本文对 iOS 如何逆向做了简单的介绍。
+
+1. 非越狱 App 调试
+ - 环境配置
+ - 安装 MonkeyDev
+ - 使用 MonkeyApp 调试 App
+ - 导出调试 App 的沙盒文件
+2. 越狱
+3. 砸壳
+
+### 🌟 🐕 [iOS 音频采集 Demo:采集音频数据并存储为 PCM 文件](https://mp.weixin.qq.com/s/FDR_5cMfAJQgZhSvjgeWYA)
+
+[@JonyFang](https://github.com/JonyFang):iOS/Android 端开发同学如果想开始学习音视频开发,最丝滑的方式是对[音视频基础概念知识](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MjM5MTkxOTQyMQ==&action=getalbum&album_id=2140155659944787969&scene=21#wechat_redirect)有一定了解后,再借助本地平台的音视频能力上手去实践音视频的采集 → 编码 → 封装 → 解封装 → 解码 → 渲染过程,并借助[音视频工具](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MjM5MTkxOTQyMQ==&action=getalbum&album_id=2216997905264082945#wechat_redirect)来分析和理解对应的音视频数据。
+
+本篇是「音视频工程示例」的第一篇:iOS 音频采集 Demo。这个 Demo 里包含以下内容:
+
+1. 实现一个音频采集模块;
+2. 实现音频采集逻辑并将采集的音频存储为 PCM 数据;
+3. 详细的代码注释,有助理解代码逻辑和原理。
+
+### 🌟 🐕 [iOS微信全文搜索技术优化](https://mp.weixin.qq.com/s/Ph0jykLr5CMF-xFgoJw5UQ)
+
+[@kemchenj](https://kemchenj.github.io/):这篇文章讲述了微信团队 2021 年优化 iOS 客户端搜索体验的过程,从技术选型开始,到方案落地以及最后的性能调优,非常具有学习价值,强烈推荐有类似需求的同学阅读。
+
+### 🐎 [cocoapods-downloader 设计概要](https://mp.weixin.qq.com/s/J10EbVTAb_u_yDCThxFJYg)
+
+CocoaPods 是我们非常熟悉的工具了,本文就介绍了 cocoapods-downloader 的代码设计,并在文末给出了工厂类对具体子类解耦的一个优化方案。
+
+### 🐕 [高级 SwiftUI 动画 — Part 2:GeometryEffect](https://mp.weixin.qq.com/s/rE_HILLt-uxzScS7wXh5jw)
+
+[@AidenRao](https://weibo.com/AidenRao):在 [本系列的第一部分](http://mp.weixin.qq.com/s?__biz=MzAxNzgzNTgwMw==&mid=2247487817&idx=1&sn=2dc07e2a4a58e4b0ba02b05ea5952734&chksm=9bde233daca9aa2b8312a91b61e259ba17f88be9e7863e7a159262bdd36825c9479baeba471f&scene=21#wechat_redirect) 介绍了 Animatable 协议,以及我们如何使用它来为路径制作动画。
+
+本系列的第二部分,介绍一个新的工具 GeometryEffect,用同样的协议对变换矩阵进行动画处理。
+
+第三部分介绍强大的 AnimatableModifier:[高级 SwiftUI 动画 — Part 3:AnimatableModifier](https://mp.weixin.qq.com/s/M6MW3idXS6jZJtl4Mz5DGQ),用于实现复杂动画。
+
+文章结合动画 Gif 和源码为案例,深入的探讨了一些创建 SwiftUI 动画的高级技术。
+
+## 代码
+
+### [Mocha](https://github.com/White-White/mocha)
+[@Smallfly](https://github.com/iostalks):Mocha 是一款 Swift 编写的 Mach-O 文件可视化工具,通过解释 Mach-O 文件中每一个字节的含义,帮助使用者理解 Mach-O。
+
+### [ScreenShield](https://github.com/RyukieSama/Swifty)
+[@Damien](https://github.com/ZengyiMa):ScreenShield 是极其轻量化的截屏防护方案,任何需要被保护的 View 作为子视图放入保护的视图中即可达到截屏时隐藏内容的效果。
+
+### [MetalPetal: An image processing framework based on Metal ](https://github.com/MetalPetal/MetalPetal)
+[@莲叔](http://github.com/aaaron7):顾名思义,MetalPetal 是一个用 Metal 做图像处理的框架。GPU 的图像处理框架,我们很容易想到的就是大名鼎鼎的 GPUImage,MetalPetal 可以说就是一个 Metal 版的 GPUImage。苹果近几年推广 Metal 的决心相信大家都有目共睹,Metal 不仅能提供了现代化的 API,也提供了碾压 OpenGL 的性能,是 iOS 上做 GPU 计算的不二之选。但如果我们希望用 Metal 来做图像和视频处理的时候,你会发现需要写非常多的代码才能够完成功能,比如图片加载,上传成纹理,创建 gpu 的 pipelie 等等,而视频则更复杂,涉及到解码、调度、丢帧等一系列逻辑。MetalPetal 这类框架就是为了这个这样的问题而生,让你通过简单的函数调用就完成 GPU 的计算。大幅提升开发效率。
+
+## 摸鱼周报
+
+[@摸鱼周报 #44](https://mp.weixin.qq.com/s/q__-veuaUZAK6xGQFxzsEg):第四十四期摸鱼周报来啦,一起来看下本期概要:
+
+* 话题:Apple 将推出 Tap to Pay 功能
+* Tips:解决 iOS 15 上 APP 莫名其妙地退出登录
+* 面试模块:Dealloc 使用注意事项及解析
+* 优秀博客:ARM64 汇编入门及应用
+* 学习资料:Github: How to Cook
+* 开发工具:文件搜索应用:EasyFind
+
+## 赞助者
+
+虚位以待..
+
+**非常感谢以上赞助者的支持,如果你也有赞助我们的兴趣,欢迎添加微信 iTDriverr 哦~**
+
+## 内推
+
+老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
+
+如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav
+
+如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
+
+当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
+
+## 关注我们
+
+我们开通了公众号,每期发布时公众号(LSJCoding)会推送消息,欢迎关注。
+
+
+
+同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
+
+## 说明
+
+🚧 表示需某工具,🌟 表示编辑推荐
+
+预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
diff --git a/Reports/2022/#194-2022.03.07.md b/Reports/2022/#194-2022.03.07.md
new file mode 100644
index 000000000..2e6459871
--- /dev/null
+++ b/Reports/2022/#194-2022.03.07.md
@@ -0,0 +1,139 @@
+# 老司机 iOS 周报 #194 | 2022-03-07
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [Apple Park 传送门下周开启](https://mp.weixin.qq.com/s/9gsgkR6QW5o37ov4SltPmQ)
+
+Apple Park 传送门定时开启,北京时间 3 月 9 日凌晨 2 点,欢迎准时来 [Apple 官网](https://www.apple.com.cn/apple-events/)看 Apple 特别活动直播,还有同步中文字幕可以开启。
+
+## Developer - 设计开发加速器
+
+### [探索物理空间音频引擎和游戏手柄](https://developer.apple.com/cn/accelerator/)
+
+2022 年 3 月 10 日(报名截止 2022 年 3 月 9 日)
+
+探索几何感知音频是如何帮助您的 app 构建复杂、互动和沉浸的音频场景。了解 Apple 的空间音频 API —— 物理音频空间化引擎(PHASE),以及它是如何使声音始终与您的体验保持一致 —— 帮助您在开发过程中创建空间声景和场景,而不是等到后期制作。我们还将向您展示虚拟和实体游戏手柄的最新改进,以及如何在您的 app 中支持手柄的分享功能。
+
+
+
+## 文章
+
+### 🌟 🐕 [音视频工程示例专栏](https://mp.weixin.qq.com/mp/appmsgalbum?)
+
+第二篇 iOS 音频编码:[采集音频数据并编码存储为 AAC 文件](https://mp.weixin.qq.com/s/q4n1dYTjcJVJolX-Wrdr9Q)
+
+第三篇 iOS 音频封装:[采集编码音频数据并封装存储为 M4A 文件](https://mp.weixin.qq.com/s/R86qnQAi2njr6k7tFvTF-w)
+
+[@JonyFang](https://github.com/JonyFang): 本 Demo 包含的主要内容有:
+
+1. 实现一个音频采集模块
+2. 实现一个音频编码模块
+3. 串联音频采集和编码模块,将采集到的音频数据输入给 AAC 编码模块进行编码和存储
+4. 详尽的代码注释,有助于理解代码逻辑和原理
+
+### 🐕 [探索 iOS 编码对包大小的影响](https://mp.weixin.qq.com/s/3Z_IFBpjwDTrB6ynu2bKcQ)
+
+[@Smallfly](https://github.com/iostalks):本文介绍了比较极致和新颖的包大小优化技术,文章从二进制、汇编指令层面分析 Objective-C 代码对包大小的影响。主要从三个方面进行了讲述:
+
+1. 二进制层面分析 OC 代码对包大小的影响
+2. 编码上优化包大小的 tips
+3. 总结各种 tips 的收益
+
+### 🐎 [Publishing DocC Documentation as a Static Website on GitHub Pages](https://www.createwithswift.com/publishing-docc-documention-as-a-static-website-on-github-pages/)
+
+[@kemchenj](https://kemchenj.github.io/):去年 WWDC 苹果发布了 Swift 专用的文档生成工具 docc,接近一年过去了,社区主流的库都没有采用这个工具,其中一个重要的原因是 docc 不支持生成静态网页,无法部署在类似 github.io 之类的服务上,必须有服务器支持才可以。
+
+最近在社区的帮助下,docc 也加入了静态网页生成的功能,预计会跟随 Xcode 13.3 一起发布,这篇文章的作者就分享了如何使用 Xcode CLI 命令调用 docc 生成静态网页,以及最终的效果。
+
+另外跟随 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),使用这个插件就可以在 CLI 里 `swift package generate-documentation` 一键生成文档。
+
+### 🐕 [注解排列组合出启动任务 | ksp - 掘金](https://juejin.cn/post/7070887538444992526?share_token=7592be2d-eb07-4dd9-94ad-185665479303)
+
+[@Barney](https://github.com/BarneyZhaoooo):文章介绍了一种通过注解的排列组合优化启动任务的思路,让开发同学尽可能的对启动流程无感知。并提供了简单易懂的 demo。
+
+- Ksp解析注解
+- Task生成结合TaskGroup概念
+- 拆分启动步骤
+- 依赖注入
+- Plugin
+
+### 🐕[iOS 自动化测试驱动工具探索](https://mp.weixin.qq.com/s/8bq-Y0rrV9Pw93e8IQoUaQ)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):该文介绍了字节 iOS 自动化测试驱动工具 bdc 的探索过程及实现原理。解决了目前 Facebook 方案耗时长性能差,对真机不友好,无法在 Linux 上部署等问题,值得一读。
+
+文章主要内容如下:
+- 参考 Facebook 的 wda 实现了更高效的 XCTest 工具,在执行速度和稳定性获得大幅提升
+- 通过研究 libimobiledevice 的原理,实现了调用 Xcode 自带工具集的能力
+- 通过将进程名加入 testmanagerd 的白名单实现了在 Linux 上的 docker 化部署
+
+### 🐕 [如何在 macOS Monterey 中成功编译 objc4-838 源码](https://juejin.cn/post/7068539803318353928)
+
+[@Damien](https://github.com/ZengyiMa):你是否想自己编译 Objc4 的源码?那就来看看此篇文章吧。本文会手把手教你如何在 macOS Monterey 中成功编译 objc4-838 源码,并且对编译错误会有详细的修复说明,可以跟着作者一步步在 macOS Monterey 中成功编译。
+
+### 🐕 [Combining protocols in Swift](https://www.swiftbysundell.com/articles/combining-protocols-in-swift/)
+
+[@anotheren](https://github.com/anotheren):Swift 中协议的核心优势之一就是方便我们抹除原始类型,并定义统一接口进行交互。本文展示了几种不同的方法来组合多个协议的功能。编程并没有绝对的标准答案,不同方案都有各自的特点。协议默认实现、协议扩展、范型约束,你更习惯哪一种呢?
+
+## 代码
+
+### 🌟 [Flutter 图片库高燃新登场](https://mp.weixin.qq.com/s/irsf9550JcHrsd5l-V8BbQ)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 图片处理目前来说相对于原生而言,仍有不少的差距,尤其是在处理缓存方面。本期代码库推荐咸鱼出品的 Flutter 图片处理方案: PowerImage。该方案巧妙地将外接纹理与 FFi 方案组合,以更贴近原生的设计,解决了一系列业务和技术痛点,强烈推荐 👍
+
+### [SwiftUIFlux](https://github.com/Dimillian/SwiftUIFlux)
+
+[@老峰](https://github.com/gesantung):Redux 是 JavaScript 的状态管理框架,SwiftUIFlux 一个非常简单的使用 Combine 为 SwiftUI 实现类 Redux 的状态管理框架,感兴趣的同学可以尝试。
+
+### [Satin - A 3D Graphics Framework built on Apple's Metal](https://github.com/Hi-Rez/Satin)
+
+[@老驴](https://weibo.com/u/6090610445):最近随着元宇宙概念的火爆,3D 相关的技术也受到了大家的关注,有很多同学对 3D 引擎有很浓厚的兴趣,也想探究一下引擎的原理和实现。这个库就是一个 iOS 开发者基于 Metal API 写的一个引擎,作为学习 3D 相关知识来说,是个很好的材料。
+
+## 摸鱼周报
+
+[@摸鱼周报 #45](https://mp.weixin.qq.com/s/_N98ADlfQCUkxYjmH0SvZw):第四十五期摸鱼周报来了,一起来看下本期概要:
+
+* 话题:苹果公司宣布暂停在俄销售产品并关闭部分功能
+* Tips:在 SPM 集成 SwiftLint
+* 面试模块:Swift 的 weak 是如何实现的?
+* 优秀博客:iOS项目中的脚手架/CLI介绍
+* 学习资料:Swift 实现的设计模式
+* 开发工具:nginxedit:Nginx 在线配置工具
+
+## 内推
+
+### 南京、上海、深圳 - 华泰证券 - 招聘 iOS/Android 高级、资深工程师
+
+> 招聘要求和联系方式:https://www.yuque.com/iosalliance/article/cinmb2
+
+### 杭州 - 淘宝 - 终端平台技术部 - 招聘 iOS/Android
+
+> 招聘要求和联系方式:https://www.yuque.com/iosalliance/article/hszgat
+
+### 其他
+
+如果你想**找工作**,点这里: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/#195-2022.03.14.md b/Reports/2022/#195-2022.03.14.md
new file mode 100644
index 000000000..148f9bd5c
--- /dev/null
+++ b/Reports/2022/#195-2022.03.14.md
@@ -0,0 +1,125 @@
+# 老司机 iOS 周报 #195 | 2022-03-14
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [T 技术沙龙移动端技术实践(上海场)圆满结束](https://mp.weixin.qq.com/s/gjU6ejMRyG7Cqfr9271qsA)
+
+2022 年 2 月 26 日,由老司机技术周报与 T 技术沙龙联合主办的移动端技术实践(上海场)在上海圆满落幕。此次技术沙龙邀请到了来自澳洲 REA Group 的 Jake Lin、“开源实验室”博主张涛、前阿里技术专家王宇分别以《MVI 模式在 Jetpack Compose 上的应用》、《基于 C++ 的 Android 真协程设计》以及《自制渲染引擎解决客户端复杂 UI 组件的实现》为主题进行硬核分享与实践探讨。
+
+## Developer - 设计开发加速器
+
+### [使用 SwiftUI 打造卓越体验](https://developer.apple.com/cn/accelerator/)
+
+2022 年 3 月 24 日- 25 日(报名截止 2022 年 3 月 23 日)
+
+欢迎参加为期两天的 SwiftUI 活动!通过本次活动,您将全方位了解 SwiftUI,包括 SwiftUI 的工作原理和控件使用,数据模型和视图的关联,容器布局和高阶渲染,以及使用 SwiftUI 打造多平台 app。此外,我们还邀请到社区内活跃开发者,来分享他们的 SwiftUI 实战经验。加入我们开启 SwiftUI 之旅!
+
+
+
+## 新手推荐
+
+### 🐎 [What’s new in Swift 5.6?](https://www.hackingwithswift.com/articles/247/whats-new-in-swift-5-6)
+
+[@Smallfly](https://github.com/iostalks):Swift 5.6 引入了一波新的特性,本文通过示例重点介绍了几个比较有意思的,并预测在不远的将来 Swift 6 可能会带来一系列破坏性 API。
+
+### 🐎 [Easier Code Review With Pre-Commit Hooks](https://digitalbunker.dev/supercharging-git-with-pre-commit-hooks/)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):本文介绍了 git 的 hooks 能力,并举例介绍了适合在 ``pre-commit`` 阶段做的检查,例如 文件名是否为纯 ASCII 字符,.xib/.storyboard 是否有 ambiguous constraints。但 hooks 文件不在 git 中保存,管理与同步困难,因此推荐了 [pre-commit](https://pre-commit.com/#intro) 这个工具通过 yaml 配置文件来拉取需要的hooks,确保保证 hooks 的同步,工具还预设了[很多选项](https://pre-commit.com/hooks.html)来开启能力,也可以找到别的开发贡献的 hooks。虽然工具名为 ``pre-commit`` 但也支持在各个阶段指定 hooks,功能相对完善。
+
+## 文章
+
+### 🌟 🐕 [快影 iOS 端如何实现 OOM 率下降 80%+](https://mp.weixin.qq.com/s/IvATFGU_bOph-WX5ZYLYew)
+
+[@Leo](https://github.com/leomobiledeveloper):OOM 的判定和优化一直是 iOS 上比较棘手的问题,快影充分利用自身架构的特点来采集和还原问题的上下文,实现了一套分析复现线上 OOM 头部问题的工具,基于这套工具 OOM 率大幅下降。文中技术方案的思路新颖,并且结合几个具体的案例做了深入的分析,干货很多,非常推荐阅读~
+
+### 🌟 🐕 [iOS 高刷屏监控 + 优化:从理论到实践全面解析](https://mp.weixin.qq.com/s/gMxTq0_nmE-xW7GA3pkBJg)
+
+[@Barney](https://github.com/BarneyZhaoooo) 本文介绍了新引入的 ProMotion 屏幕背后的机制,并且透过表象深入汇编本质,还落地了监控 + 优化的方案,让大盘滑动帧率 P50 从 80 上升至 112 左右,取得了不俗的业务收益。
+
+- 帧率介绍
+- 动态刷新率的表现形式
+- 设备差异
+- 解除 DisplayLink 的帧数限制
+- 动态帧率的应用场景
+
+### 🐕 [如何让云音乐 iOS 包体积减少 87MB](https://mp.weixin.qq.com/s/GTbhvzMA-W0ANlars7mKog)
+
+[@水水](https://www.xuyanlan.com):包体积优化是客户端开发的老命题了, 本文记录了云音乐从了解口径、分析、实践的过程。云音乐的包体积主要优化点如下:
+- 资源
+资源清理、资源整理、资源压缩、资源云端迁移、资源合并
+- 二进制
+无用代码检测、二三方库下线、动态库依赖裁剪
+- 编译优化 - 参数
+Asset Catalog Compiler Optimization、EXPORTED_SYMBOLS_FILE、Link-Time Optimization、GCC_OPTIMIZATION_LEVEL
+- 防劣化
+
+此前也有推荐过一些安装包瘦身的文章,一并贴出参考,希望对优化包体积感兴趣的读者可以根据自己的业务选择最适合自身 App 的方案。
+
+- [iOS瘦身!一个让50%本地图片消失的方案!](https://juejin.cn/post/7053978539523047437)
+- [App thinning checklist](https://oldoldb.com/2019/01/09/App-thinning-checklist/)
+- [iOS 优化 - 瘦身](https://mp.weixin.qq.com/s/wDcYvea5dTq0dh0PBwRu4A)
+- [On-Demand Resource 资源下发](https://www.xuyanlan.com/2018/12/07/%E8%B5%84%E6%BA%90%E4%B8%8B%E5%8F%91/)
+
+### 🐕 [让工程师拥有一台“超级”计算机——字节客户端编译加速方案](https://mp.weixin.qq.com/s/0nU5DHX0GnEidoCtlCOaOg)
+
+[@红纸](https://github.com/nianran):该文介绍了字节在分布式编译、编译缓存上的部分实现原理。文中提到**跨任务缓存**和**索引缓存**的两种实现方案。并介绍了依赖分析的四种技巧,分别从消噪、索引、缓存三个角度进行了优化。同时采用了开源框架 goma 的代码,针对 iOS 项目的特性,优化了编译任务依赖解析。
+
+### 🐎 [本地生活端智能架构设计与技术探索](https://mp.weixin.qq.com/s/vrHNhik_ijqs5KE_0YRI1A)
+
+[@J_Knight_](https://github.com/knightsj):本文介绍了本地生活业务对端智能的应用与探索。首先介绍了端智能的概念,特性以及发展趋势。然后结合本地生活的业务分享了其所应用的端智能技术架构。最后结合了具体的细分业务:用户特征,智能推荐和智能触达介绍了端智能在这些业务的具体应用。在文末也对端智能在本地生活的应用做了展望和期待。
+
+### 🐕 [Native Network Monitoring In Swift](https://digitalbunker.dev/native-network-monitoring-in-swift/)
+
+[@享耳先森](https://github.com/iblacksun):对于 App 内的网络状态监控,大家常用的是 `Reachability` 或 `Alamofire` 内部的 `NetworkReachabilityManager`。本文介绍了基于 iOS 12 后 `Network.framework` 内置的 `NWPathMonitor` 实现的网络状态监控。
+
+## WWDC21 内参
+
+### [通过断点技巧让调试更高效](https://mp.weixin.qq.com/s/kv2dfh6L06RQghwkQupi1w)
+
+[@PerTerbin](https://github.com/PerTerbin): 对于开发者来说都是及其重要的调试手段。本文将介绍 Xcode 中断点调试的技巧及 WWDC21 中苹果关于断点提出的新技术,学会这些技巧对于开发者来说都非常有必要,它能使我们的工作更加高效。
+
+### [使用 Clang 静态分析器尽早发现 Bug](https://mp.weixin.qq.com/s/oGqTGgciaFIgMIKH96Ccng)
+
+[@Sean](https://github.com/yangzai360): 本文包括了 [WWDC 2021 Session 10202](https://developer.apple.com/videos/play/wwdc2021/10202/) 中的全部内容,Clang 静态分析器于 2011 年就集成进 Xcode 了,十年多来,它的功能越来越强大。在 Xcode 中简单的一个点击就可以让它来帮助我们找到很多隐晦的 Bug。本文图文并茂地介绍了分析器的使用操作、Xcode 13 中新增的检查项目、在BuildSeting中的可配置参数,以及最后译者补充了静态分析的简介、Clang 静态分析器源码结构。期望通过使用它,让你的工程变得更健壮!
+
+## 摸鱼周报
+
+[@摸鱼周报 #46](https://mp.weixin.qq.com/s/8Wpfk9yxpjwaDXN7iXIcvQ):第四十六期摸鱼周报来了,完整内容可以点击左侧链接,一起来看下本期摘要:
+
+* 话题:苹果春节发布会,地表最强芯片 M1 Ultra
+* Tips:如何在SwiftUI中显示二维码;如何将 JSON 字典编码为 JSONEncoder
+* 面试模块:iOS 内存管理:Autorelease 细节速记
+* 优秀博客:SwiftUI 进阶技巧
+* 学习资料:KKBOX iOS/Mac OS X 基礎開發教材
+* 开发工具:几款面向 iOS 开发的 UI 调试工具
+
+## 内推
+
+老司机周报团队联合知识小集和 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/#196-2022.03.21.md b/Reports/2022/#196-2022.03.21.md
new file mode 100644
index 000000000..1b9cb00b1
--- /dev/null
+++ b/Reports/2022/#196-2022.03.21.md
@@ -0,0 +1,172 @@
+# 老司机 iOS 周报 #196 | 2022-03-21
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [4 月 25 日开始,提交到 App Store 的 app 都必须使用 Xcode 13 构建](https://developer.apple.com/cn/news/?id=2t1chhp3)
+
+从 2022 年 4 月 25 日开始,所有提交到 App Store 的 iOS、iPadOS 和 watchOS app 都必须使用 Xcode 13 构建。Xcode 13 已包含 iOS 15、iPadOS 15 和 watchOS 8 的 SDK。
+
+## Developer - 设计开发加速器
+
+### [使用 SwiftUI 打造卓越体验](https://developer.apple.com/cn/accelerator/)
+
+2022 年 3 月 24 日- 25 日(报名截止 2022 年 3 月 23 日)
+
+欢迎参加为期两天的 SwiftUI 活动!通过本次活动,您将全方位了解 SwiftUI,包括 SwiftUI 的工作原理和控件使用,数据模型和视图的关联,容器布局和高阶渲染,以及使用 SwiftUI 打造多平台 app。**此外,我们还邀请到社区内活跃开发者,来分享他们的 SwiftUI 实战经验**。加入我们开启 SwiftUI 之旅!
+
+
+
+## 文章
+
+### 🐕 [Tips for getting the most out of DocC](https://rhonabwy.com/2022/02/10/tips-for-getting-the-most-out-of-docc/)
+
+[@四娘](https://kemchenj.github.io/):文档工具 DocC 发布了已经快要一年,这段时间里加上了 static hosting,C/Objective-C 的支持以及 SPM 插件等功能,依托它来构建内部文档工具是一个不错的选择,也是一个顺便梳理项目内部代码的机会。
+
+本文作者提供了一个渐进式接入 DocC 的步骤建议:
+
+1. 给 class/struct/enum 等类型添加注释文档
+2. 给公开的函数和属性添加注释文档
+3. 添加 documentation catalog 和 overview
+4. 给主要的类型和函数分组
+5. 编写一篇大致的介绍文档
+6. 添加常用的代码模版
+7. 给其余的代码分组
+
+### 🐎 [Swift进阶](https://juejin.cn/column/7069654800002252808)
+
+[@老峰](https://github.com/gesantung):作者比较系统的介绍了学习 Swift 的一些知识点,主要包含如下内容:
+
+- [Swift进阶(一) —— 类与结构体](https://juejin.cn/post/7048633193666183176)
+- [Swift进阶(二) —— 方法探究](https://juejin.cn/post/7050873481029746696)
+- [Swift进阶(三)—— 属性](https://juejin.cn/post/7062732599835721735)
+- [Swift进阶(四)—— 指针](https://juejin.cn/post/7069654422359392292)
+- [Swift进阶(五)—— 内存管理](https://juejin.cn/post/7071048325193007134)
+- [Swift进阶(六)—— 枚举和可选类型](https://juejin.cn/post/7072287470791966750)
+
+### 🚧 🐎 [All Thumbs, Why Reach Navigation Should Replace the Navbar in iOS Design](https://medium.com/tall-west/lets-ditch-the-nav-bar-3692cb17cc67)
+
+[@ChengzhiHuang](https://github.com/ChengzhiHuang):一篇偏向交互设计的文章,介绍应该如何做好 Reach Navigation 的设计。随着 iPhone 手机屏幕越来越大,用户手指越来越难够到屏幕的顶部,在 Navbar 上设计功能交互区也显得越发不友好。于是作者提出了 Reach Navigation 的概念,并对三种情况做出了建议:
+
+- 使用 Tab Bar 的新 APP
+ - 使用从底部 pop up 的弹窗,并能通过下拉手势 swipe away
+ - 将常用的操作按钮放置在 Tab Bar 上
+ - 在选择如何分配屏幕空间前,思考哪些是核心功能
+ - 不要在 Tab Bar 中放置目的地按钮——比如搜索、购物车、新消息。通过别的方式嵌入内容区域或别的途径实现。
+
+- 不使用 Tab Bar 的新 APP
+ - 使用苹果地图一样的抽屉式设计,或者像苹果邮箱一样的 sheet 设计
+ - 优先考虑把按钮放在屏幕底部
+
+- 修改传统的 APP
+ - 把最常用的按钮移动至底部
+ - 所有页面适配在屏幕边缘的滑动返回
+ - 提高用户方便触达区域的利用率
+ - 把重要操作从 Navbar 的右侧移走
+
+PS:本文是17年的文章了,但即使在现在看来也依旧不过时。一个的近期类似设计就是 iOS15 Safari 将 URL/search/tab bar 也挪到了底部,单手操作的体验获得了较大的提升。开发者也不应拘泥于写代码,懂一些交互的基本原理也是加分项。
+
+### 🐎 [iOS代码覆盖率-增量覆盖率自动化实践](https://juejin.cn/post/7049973143007395877)
+
+[@Damien](https://github.com/ZengyiMa):全量代码覆盖率可以帮助开发者聚焦代码的逻辑缺陷,从而更好地避免线上问题,全量代码覆盖率可以直观的看到整个App的代码的覆盖率情况,但是往往有用的或者被关注的是增量代码覆盖率数据。本文通过探索和学习,研究了基于 Git Diff 能力,结合 Clang 覆盖率信息,最终形成了一套增量覆盖率自动化方案。有兴趣的同学不妨一读。
+
+### [iOS番外-搞点音乐玩玩](https://juejin.cn/post/7075638987712364580)
+
+[@zvving](https://github.com/zvving):疫情波动的日子里,不妨听一首自动播放的钢琴曲([演示看这里](https://www.bilibili.com/video/BV1Yq4y1e7G9/))。
+
+作者梳理唱名与 MIDI 值的对应关系,定义贝加尔湖畔曲谱文件,使用 [MIKMIDI](https://github.com/mixedinkey-opensource/MIKMIDI) 加载钢琴音色完成播放。**代码简单,也可以很有趣!**
+
+### 🐢 [Better performance with canvas in SwiftUI](https://swdevnotes.com/swift/2022/better-performance-with-canvas-in-swiftui/)
+
+[@CrazyCoderShi](https://github.com/CrazyCoderShi): Canvas 在各个平台都是一个备受争议的技术,在 SwiftUI 中也不例外,本文使用 Shape , Canvas , 静态图片来对比单个实例的创建和多实例滚动试图下的性能差异,综合结果还是 Canvas 胜出 ✨
+
+### 🌟 🐕 [音视频工程示例专栏](https://mp.weixin.qq.com/mp/appmsgalbum?)
+
+第四篇 iOS 音频解封装:[从 MP4 中解封装出 AAC](https://mp.weixin.qq.com/s/fCZfIXriTXUPcI4d4te_ew)
+
+第五篇 iOS 音频解码:[免费获得源码](https://mp.weixin.qq.com/s/7Db81B9i16cLuq0jS42bmg)
+
+[@JonyFang](https://github.com/JonyFang): 第四篇主要内容:
+1. 实现一个音频解封装模块;
+2. 实现对 MP4 文件中音频部分的解封装逻辑并将解封装后的编码数据存储为 AAC 文件;
+
+第五篇主要内容:
+1)实现一个音频解封装模块;
+2)实现一个音频解码模块;
+3)实现对 MP4 文件中音频部分的解封装和解码逻辑,并将解封装、解码后的数据存储为 PCM 文件;
+
+### 🐕 [Writing testable code when using SwiftUI](https://swiftbysundell.com/articles/writing-testable-code-when-using-swiftui/)
+
+[@JimQ](https://github.com/waz0820):移动端界面开发不需要写单元测试,貌似已经成为理所当然的事(与界面弱相关的功能模块除外)。来到 SwiftUI 的时代,由于 SwiftUI 诸多开发范式的限制,业务逻辑与 UI 框架交互之间的解难解分比之 UIKit 的时代更有过之。
+
+鉴于此,本文探索了如何使 SwiftUI 开发的 相关逻辑充分可测试(Test),主要包括两个部分:将逻辑提取到相应的 ViewModel 中,以及相对独立的逻辑抽取到相应的扩展中。
+
+文章最后,作者也坦诚自己从未对 SwiftUI 的视图本身写测试(UITest)。作者专注于提取所有想测试的逻辑,使其从 UI 框架中摆脱出来,将主要精力致力于编写这部分的测试。小编作为一个页面仔也深感认同,这可能是一条更加可行的路线。
+
+### 🐢 [iOS15 动态链接 fixup chain 原理详解](https://mp.weixin.qq.com/s/k_RI2in_Q5hwT33KWig34A)
+
+[@Leo](https://github.com/leomobiledeveloper):Fixup chain 是 Apple 在 iOS15 系统上所应用的一种新的动态链接技术,使用了 fixup chain 动态链接方案生成的 Mach-O 文件具有以下两个优势
+
+- 更紧凑的存储信息格式所带来的更小的二进制产物
+- 更好的空间局部性所带来的更快的应用启动时间
+
+本文从二进制布局和运行时解析两个角度深入分析了 fixup chain 解决的问题以及实现原理,推荐对底层原理感兴趣的同学阅读~
+
+## 代码
+
+### [SafeDecoder](https://github.com/GodL/SafeDecoder)
+
+SafeDecoder支持在Codable解码某个字段失败时设置默认值,并且默认值可配置。
+
+> 推荐人:[GodL](https://github.com/GodL)
+
+## 摸鱼周报
+
+[@摸鱼周报 #47](https://mp.weixin.qq.com/s/X6lPQ5qwY1epF6fEUhvCpQ):第四十七期摸鱼周报来了,完整内容可以点击左侧链接,一起来看下本期摘要:
+
+* 话题:苹果多个产品线的更新介绍
+* 面试模块:动态库与静态库的区别
+* 优秀博客:关于该不该换工作以及如何准备面试
+* 见闻:一个新的、偏技术领域的博客推荐模块
+* 学习资料:Rust 数据结构与算法
+* 开发工具:Aria2GUI,一款支持多种协议的轻量级命令行下载工具
+
+上周还有一期人物访谈,对话一位全职的 iOS 独立开发者,全职独立开发还是非常有难度的,而且听他说靠独立开发的收入即将赶上工作时期的薪资。感兴趣的小伙伴可以点击这里探寻这位独立开发者的进阶之路:[人物访谈 | 极简时钟作者:道哥](https://mp.weixin.qq.com/s/-dZfT_ChTLESbweXyhP3pg) 。
+
+## 内推
+
+### [北京、上海、杭州、深圳] 抖音 - iOS 开发 - 研发效能方向
+
+我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程/业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能/稳定性方面不断探索,努力为全球数亿用户提供最极致的基础体验。
+
+更多介绍详见: https://www.yuque.com/iosalliance/article/ozi46h
+
+### 其他
+
+老司机周报团队联合知识小集和 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/#197-2022.03.28.md b/Reports/2022/#197-2022.03.28.md
new file mode 100644
index 000000000..4792f5562
--- /dev/null
+++ b/Reports/2022/#197-2022.03.28.md
@@ -0,0 +1,143 @@
+# 老司机 iOS 周报 #197 | 2022-03-28
+
+
+老司机 iOS 周报,只为你呈现有价值的信息。
+
+你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
+
+## 新闻
+
+### [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 中。
+
+## 文章
+
+### 🐕 [内存优化: 纹理压缩技术](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分的多维度页面性能评分体系)的思考过程、维度分析、困难探索、落地效果。可以按下面几个步骤品读:
+
+- 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
+ ]
+)
+```
+
+## 摸鱼周报
+
+[@摸鱼周报 #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
+
+如果你想**招人**,点这里: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/#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