# 老司机 iOS 周报 #118 | 2020-06-22

![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) 提出。


## 通知

为了更好的筹备 `WWDC2020 内参`，老司机周报将暂时停止更新一周。

## 新闻

### [WWDC 20 将于北京时间本周 6 月 23 日凌晨举行](https://developer.apple.com/wwdc20/)

WWDC 2020 将要在 6 月 23 日凌晨 1 点钟以线上发布会的形式举行，这是首次以线上直播的方式和大家见面。
据“知情人”爆料，这次 WWDC 也会发布一款 ARM 的 Mac 电脑，同时还会把 iOS 系统重新命名为 iPhone OS，可以说非常值得期待了。

**同时，今年老司机周报依旧会和知识小集合、SwiftGG以及头条技术部门一起来创作《WWDC20 内参》，各位读者可以关注一下~**

> 《WWDC 内参》是指根据 WWDC Session 内容，去除闲聊的内容，根据自己的实际开发经验，总结一篇文章。
> 
> 往年的 WWDC 内参活动供参考，[WWDC17 内参](https://xiaozhuanlan.com/wwdc17)，[WWDC18 内参](https://juejin.im/post/5b1d284df265da6e572b3d87)，[WWDC18 内参（补）](https://xiaozhuanlan.com/wwdc18)，[WWDC19 内参](https://xiaozhuanlan.com/wwdc19)

### [全新的 Apple 开发者论坛](https://developer.apple.com/forums/) 与 [App Store Connect 现已可用](https://appstoreconnect.apple.com/)

[@张嘉夫](https://github.com/josephchang10)：WWDC 2020 开幕在即，本周 Apple 对 Apple 开发者论坛和 App Store Connect 用户界面进行了改版，采用了全新的设计，使用起来更便捷美观，提供更简明的界面导航，并对移动设备提供了更好的支持。在 WWDC 2020 期间，开发者论坛会成为开发者社区和上千名 Apple 工程师一起探讨新技术、解答疑问的最佳场所。

## 新手推荐

### 🐎 [Easy way to detect a retain cycle in a view controller](https://sarunw.com/posts/easy-way-to-detect-retain-cycle-in-view-controller/)

[@Parsifal](https://weibo.com/parsifalchang)：循环引用导致的内存泄漏问题是 iOS 开发者最经常碰到的性能问题之一，通常我们可以使用苹果官方的性能检测工具 Instruments - Leaks 帮助我们排查和定位。最原始的方式可能是在 VC 的 dealloc 方法中输出打印页面已经被释放的日志。社区中也有开发者提供了便利的第三方工具，如微信读书出品的较为广为人知的 [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) 通过在 VC 被 pop 或 dismiss 时检测其自身及其子视图是否正确释放来实现，再比如 [PLeakSniffer](https://github.com/music4kid/PLeakSniffer) 在 VC 释放后利用心跳机制来推测子视图是否被正常释放。

本文则提供了简单使用符号断点的方式来辅助检测 VC 是否被释放。这个方式无侵入性，也不需要编写任何代码，但局限性在于只能在跑工程的使用。

## 文章

### 🐕 [国内大厂在移动端跨平台的框架接入分析](https://juejin.im/post/5ed45cf2e51d457858775d01)

[@AidenRao](https://weibo.com/AidenRao)：本文通过对国内各大厂旗下知名的应用进行分析，统计各大厂在移动跨平台开发领域的接入情况，同时分析 Android 端应用的 arm 框架、 kotlin 和 androidx 的使用状态。当你需要向老板或者产品提供一些数据参考时，这份数据统计也许能帮助到你。

### 🐕 [渲染流水线系列 -- 光栅化策略对比](https://mp.weixin.qq.com/s/xuJ_-QpgrjVhuUKpINVn_g)

[@looping](https://github.com/looping)：本文对渲染流水线几种光栅化策略的优劣势进行了对比，同时重点讨论了光栅化的性能问题，感兴趣的同学可以翻看了解下。对光栅化不熟悉的话，可以看该系列的另一篇 -- [光栅化简介](https://mp.weixin.qq.com/s/qhCRkmzrLe7Osr_em2BmrA)。

### 🐎 [Modularity. Boundaries](https://dmtopolog.com/modularity-1-boundaries/)

[@xiaofei86](https://weibo.com/xuyafei86)：在代码中，我们一直都在处理不同子系统之间的边界。它发生在不同的抽象级别上。Functions, classes, modules, frameworks, layers 都是封装的实体，它们通过不同类型的边界与另一个世界分开。本文讲述了如何通过边界与模块化来保持关注点分离，构建不同类型的项目。感兴趣的同学可以阅读。

### 🐢 [Toggling iOS Render Debug Options Without a Computer](https://bryce.co/on-device-render-debugging/)

[@水水](https://www.xuyanlan.com)：我们经常用 Instruments 来调试渲染性能比如：Color Blended Layers 或 Color Offscreen-Rendered, 那有没有不需要 Instruments 就能调试的方式呢？ 本文作者通过提供了一个方案来让开发者通过设备来调试渲染性能，如果你对代码感兴趣，或者想在自己的设备上尝试，可以在 [GitHub - RenderDebugPreferences](https://github.com/bryce-co/RenderDebugPreferences) 上找到该项目。

### 🐕 [Introducing Swift AWS Lambda Runtime](https://swift.org/blog/aws-lambda-runtime/)

[@莲叔](http://aaaron7.github.io/)：前面有一期提到了 Server-side Swift 仍然可期，其中一个利好消息就是 SwiftNIO 的负责人，Tom Doron 加入了 Swift 的 core team。很快 Tom Dorom 就带来了一个新的开源项目：Swift AWS Lambda Runtime。简单的说，通过 Swift 来编写 Server-less Function 来部署在 AWS Lambda 上，这对于创业公司使用 Swift 技术栈无疑是一大利好，毕竟 AWS Lambda 已经越来越受初创型公司的欢迎。本篇文章就是 Tom Doron 所发，介绍了该项目的基本情况。

## 工具

### [因为知道了30+款在线工具，我的工作效率提升500%!](https://juejin.im/post/5ee6f0b1e51d4578762019af)

[@红纸](https://github.com/nianran)：文中列举了 30+ 款在线工具，基本都是大家耳熟能详的几个著名的网站，有兴趣的同学可以稍微扫一眼。有些网站还是可以 Mark 一下的。

> PS：在文章的评论区发现了另外一款[导航工具](https://github.com/xjh22222228/nav)([在线阅览地址](http://nav.xiejiahe.com/#/index?page=1&id=5&_=1592796130661))其收录了更多的网站地址，供大家参考。

## 内推

老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。

如果你想**找工作**，点这里：https://www.yuque.com/iosalliance/article/bhutav

如果你想**招人**，点这里：https://www.yuque.com/iosalliance/article/ycyhf3

当然，也欢迎你关注我们每一期的周报，我们会在每期周报底部及时更新编辑内推岗位。

## 关注我们

我们开通了公众号，每期发布时公众号（OldDriverWeekly）会推送消息，欢迎关注。

![](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）
