# 老司机 iOS 周报 #216 | 2022-09-05

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/ios-weekly.png?raw=true)
老司机 iOS 周报，只为你呈现有价值的信息。

你也可以为这个项目出一份力，如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们，我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

### 🌟 🐕 [Flutter 3.3 正式发布](https://mp.weixin.qq.com/s/-AYFnatRYNARGTxhzSY9Lg)

[@CrazyCoderShi](https://github.com/CrazyCoderShi)：Flutter 3.3 发布了 🎉🎉🎉，这是一个比较常规的版本，主要是新功能和优化：

- 框架更新
  - 全局选择
  - 触控板操作
  - 随手写功能
  - 文本输入
- Material Design 3 支持
- 桌面端平台
  - Windows 桌面应用的版本可以通过 pubspec.yaml 和构建参数进行设置
- 开发体验
  - VS Code 插件增强
  - Flutter 开发者工具更新
- 性能及稳定性
  - Raster 缓存改善
  - 禁用 iOS 内存指针压缩
- API 改进
  - FragmentProgram 更新 
  - PlatformDispatcher.onError 改进
  - 布局小数处理
  - 停止支持 iOS 32 位设备
  - 停止支持 BitCode 😄

除此之外，小编偷偷地告诉各位一句：Skia 被抛弃了，Flutter 3.3 开始使用新的绘制引擎：Impeller.

相关阅读：
- [Whats new in Flutter 3.3](https://medium.com/flutter/whats-new-in-flutter-3-3-893c7b9af1ff)
- [Announcing Flutter 3.3 at Flutter Vikings](https://medium.com/flutter/announcing-flutter-3-3-at-flutter-vikings-6f213e068793)
- [Flutter 3.3 中文解析](https://mp.weixin.qq.com/s/-AYFnatRYNARGTxhzSY9Lg)
- [Dart 2.18](https://medium.com/dartlang/dart-2-18-f4b3101f146c)

## 文章

### 🐕  [How to improve iOS build times with modularization](https://www.runway.team/blog/how-to-improve-ios-build-times-with-modularization)

[@享耳先森](https://github.com/iblacksun)：随着业务的迭代，项目代码的复杂度越来越高，如果不能很好地架构我们的应用，将严重拖慢编译速度，从而影响开发体验。本文介绍「模块化」的方式（很多大厂也是这么做的），利用模块间的横向依赖（而不是垂直依赖）来解决这一问题。

### 🐎 [Moving “ The Swift Programming Language ” book to open source](https://forums.swift.org/t/moving-the-swift-programming-language-book-to-open-source/59989)

[@Smallfly](https://github.com/iostalks)：Swift-DocC 是苹果在 2021 年推出的文档编译器，它能通过编译源码中的注释来生成文档。近期苹果将 Swift 官方文档源码在 Github 开源，宣称未来会基于这个仓库使用 Swift-DocC 来构建文档。苹果期望和开源社区一起来完善 Swift-DocC，并期待开发者能为官方文档作贡献。

想了解更多关于 Swift-DocC 的内容，请参考内参文章[【 WWDC22 110368/110369 】 Swift-DocC 新特性](https://xiaozhuanlan.com/topic/3658492071)。

### 🐎 [云音乐 iOS 端网络图片下载优化实践](https://mp.weixin.qq.com/s/R1XLp9hjHDBdYcOI6w8psw)

[@J_Knight_](https://github.com/knightsj)：本文介绍了网易云音乐团队的图片下载优化方案：通过拼接参数，在远端进行裁剪，质量压缩从而下载到不同的图片。具体的做法是将 SDWebImage 里的 SDWebImageManager 和 SDImageCache 进行改造，作者附上了代码和流程图分享了具体的改造方案。团队自测该方案将图片的下载速度提升了 50%，同时日均节约 至少 10% 的 CDN 的带宽。

### 🐎 [Clang Module 内部实现原理及源码分析](https://mp.weixin.qq.com/s/fm_Wxrs9o6V53jtGdp3v9w)

[@Damien](https://github.com/ZengyiMa)：本文来自阿里的钉钉团队，钉钉团队在支持 Swift 和适配 Clang Module 的过程中，遇到了各种各样的编译问题，由此作为切入点，从编译提供的参数出发，一步步深入挖掘了 Clang Module 内部的实现原理。

### 🐕 [How do we use SwiftUI in the Medium iOS application](https://medium.engineering/how-do-we-use-swiftui-in-the-medium-ios-application-8f7bd95416ce)

[@JimQ](https://github.com/waz0820)：随着 SwiftUI 近四年的迭代，尤其是本月即将迎来的 4.0 正式版，似乎预示着 SwiftUI 已经可堪大用。本文深入介绍了 Medium iOS 客户端中不断增长的 SwiftUI 的使用情况，其中一些常见场景的模式和用法以及遇到的问题和妥协，对我们把 SwiftUI “用起来”有很好的参考价值。

### 🚧 🐕 [Stop Xcode 14 beta from draining your battery](https://blog.nihongo-app.com/stop-xcode-14-beta-from-pegging-cpu/)

[@水水](https://xuyanlan.com)：Xcode14 betas 4~6 中有一个错误，当运行 iOS 16 iPhone 模拟器时，会导致 Postboard 进程中的崩溃循环，使得 CPU 使用率飙升，电池消耗非常快。在苹果解决这个问题之前，文章提供了一个解决办法。并且发现了一个不需要下载旧模拟器的解决方案。


## 摸鱼周报

[@摸鱼周报 #67](https://mp.weixin.qq.com/s/8H7YnrVTubKvVnYJBXcF_A)：大家好，第 67 期摸鱼周报来了，一起看下本期概要：

* 本期话题：WWDC22 视频现已提供简体中文字幕；现已推出 Xcode Cloud 订阅
* 本周学习：移动网络的优化方向；DNS 解析的相关问题
* 内容推荐：SwiftUI 相关的一些文章推荐
* 摸一下鱼：Superhuman 3D 捏人；Swifty Compiler 是一个可以在 iPhone/iPad 上编写和运行 Swift 代码的 app；一款命令行版本的电脑状态管理器 iStats；一款极客范儿的浏览器主题 YuIndex。

## 关注我们

我们是「老司机技术周报」，一个持续追求精品 iOS 内容的技术公众号，欢迎关注。

**关注有礼，关注【老司机技术周报】，回复「2021」，领取 2017/2018/2019/2020 内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅：https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

## 说明

🚧 表示需某工具，🌟 表示编辑推荐

预计阅读时间：🐎 很快就能读完（1 - 10 mins）；🐕 中等 （10 - 20 mins）；🐢 慢（20+ mins）
