# 老司机 iOS 周报 #137 | 2020-11-23

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

## 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 内使用优惠代码兑换功能。

## 文章

### 🌟 🐕 [淘宝直播“一猜到底”——移动端实时语音识别技术方案及应用](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)

[@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 性能优化，给出更加精准的思路。

## 赞助者

虚位以待..

**非常感谢以上赞助者的支持，如果你也有赞助我们的兴趣，欢迎添加微信 iTDriverr 哦~**

## 内推

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

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

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

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

## 关注我们

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

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