老司机 iOS 周报 #213 | 2022-08-15
老司机 iOS 周报,只为你出现有价值的信息。

你也能够为这个项目出一份力,假如发现有价值的信息、文章、东西等能够到 Issues 里提给咱们,咱们会赶快处理。记得写上引荐的理由哦。有建议和定见也欢迎到 Issues 提出。

文章

How To Boost Your iOS Code Performance:Reduce Searching In Array / Reducing Collection Type Initialisation

@Smallfly:这两篇文章介绍了一些提高编码功能的小技巧。在遍历数组时,要警觉多层循环,多考虑是否能够利用 Set/Dictionary 降低复杂度。在循环体内尽量避免创立集合类型,特别需要重视值类型的 Copy-on-write。

货拉拉 iOS 司机端线程管理总结

@AidenRao:文章主要介绍了货拉拉 iOS 司机端,在线程管理方面的实践。如:队列的管理和分配,高并发事务的整理和重构,线程运用的合理性评估与改造,线程相关 crash 的排查和修复,长效机制的树立。

Content transition in SwiftUI

@Damien:SwiftUI 框架从第一个版本就提供了视图转换功能。每当视图被移除或增加时,能够运用特定的动画来进行出现。可是在视图内容发生变化时,SwiftUI 框架无法运用动画转换效果, SwiftUI 框架在最新迭代中为咱们带来了内容转换的新特性。它答应咱们在视图内容发生变化时运用特定的过渡动画,详细怎么做呢?对 SwiftUI 感兴趣的同学不妨一读。

Shared with You implementation and testing explained

@享耳先森:WWDC 22 中苹果将原来仅 Apple 可用的 Shared with you 开放给所有开发者,本文详解了其工作机制和适配方法。

Advances in Swift Package Manager’s dependency access control

@张嘉夫:在最新的 Swift 5.7 development snapshot 中 swift 可执行文件新增了一个叫做 --explicit-target-dependency-import-check 的 flag,改进了 SPM 的依靠体系,答应开发者启用或禁用一个新的构建验证过程,以检测未在 target 的依靠列表中明确界说的 import 语句,并相应触发 warning 或 error。作者在这篇文章中实践测试了这个新的 flag。

MachO 代码签名剖析

@kemchenj:验证代码的正确性是计算机科学中最难的问题之一,由于不存在普遍意义的正确的算法,所以这一验证通常运用数字签名处理。大家能够经过阅读本文考虑代码来源是否合法和代码是否被修改正的验证是如何实现的。

RTC 场景下的屏幕同享优化实践

@邦Ben:该文章和 iOS 其实并没有直接关系,主要说在飞书上同享屏幕的情况下,假如进行一个策略的优化。经过算法进行辨认当时屏幕的内容,然后进行剖析自动切换到不同的模式。

  1. 清晰模式:主打清晰度,尽量坚持高分辨率(如:最高 4K 原画质),带宽或功能缺乏的时分,只降低帧率(如:从 30fps -> 5fps),不降低分辨率。

  2. 流通模式:主打流通度,尽量提高帧率(如:最高 30fps),带宽或功能缺乏的时分,优先降低分辨率(如:从 4K -> 720p),最终才考虑降帧率。

手动切换是个基本的挑选,可是经过自动化更佳。辨认算法主要是:光流法,决策树,色彩直方图,方向统计。文章大体做了一些介绍,可是也比较归于入门概念介绍,有兴趣的同学能够了解一下。

东西

Device List | AppleDB

@Barney:Device List 能够方便地查询 Model、Name、Board、Soc 之间的对应关系。

摸鱼周报

@摸鱼周报 #64:第 64 期摸鱼周报来了,一起来看下本期概要:

  • 本期论题:今年 8 月,把握与 App Store 专家会晤沟通的机会
  • 本周学习:Swift 闭包中的变量捕获
  • 内容引荐:程序开发文档及资源网站
  • 摸一下鱼:一款体感辨认空气投篮模拟器 App;To-D 杂志

重视咱们

咱们是「老司机技能周报」,一个继续追求精品 iOS 内容的技能大众号,欢迎重视。

重视有礼,重视【老司机技能周报】,回复「2021」,收取 2017/2018/2019/2020 内参

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

说明

表明需某东西, 表明修改引荐

预计阅读时刻: 很快就能读完(1 – 10 mins); 中等 (10 – 20 mins); 慢(20+ mins)