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

4,975 阅读5分钟

老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

通知

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

新闻

WWDC 20 将于北京时间本周 6 月 23 日凌晨举行

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

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

《WWDC 内参》是指根据 WWDC Session 内容,去除闲聊的内容,根据自己的实际开发经验,总结一篇文章。

往年的 WWDC 内参活动供参考,WWDC17 内参WWDC18 内参WWDC18 内参(补)WWDC19 内参

全新的 Apple 开发者论坛App Store Connect 现已可用

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

新手推荐

🐎 Easy way to detect a retain cycle in a view controller

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

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

文章

🐕 国内大厂在移动端跨平台的框架接入分析

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

🐕 渲染流水线系列 -- 光栅化策略对比

@looping:本文对渲染流水线几种光栅化策略的优劣势进行了对比,同时重点讨论了光栅化的性能问题,感兴趣的同学可以翻看了解下。对光栅化不熟悉的话,可以看该系列的另一篇 -- 光栅化简介

🐎 Modularity. Boundaries

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

🐢 Toggling iOS Render Debug Options Without a Computer

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

🐕 Introducing Swift AWS Lambda Runtime

@莲叔:前面有一期提到了 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%!

@红纸:文中列举了 30+ 款在线工具,基本都是大家耳熟能详的几个著名的网站,有兴趣的同学可以稍微扫一眼。有些网站还是可以 Mark 一下的。

PS:在文章的评论区发现了另外一款导航工具(在线阅览地址)其收录了更多的网站地址,供大家参考。

内推

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

如果你想找工作,点这里:www.yuque.com/iosalliance…

如果你想招人,点这里:www.yuque.com/iosalliance…

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

关注我们

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

同时也支持了 RSS 订阅:github.com/SwiftOldDri…

说明

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

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)