老司机 iOS 周报 #218 | 2022-09-26
老司机 iOS 周报,只为你出现有价值的信息。

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

文章

中心化抉择办理——云端剖析

@JonyFang:本文首要共享了现在字节跳动内部的一种 CocoaPods 云端化的优化计划,针对很多重复的 iOS 工程流水线构建使命进行了收敛和复用,在确保依靠抉择正确性的前提下加快了依靠办理速率,提升了研发效能。现在云端剖析服务现已完成第一阶段的开发并落地运用,已被内部几个中心的生产线运用。

内容结构:

  1. 布景
  2. 什么是云端依靠剖析
  3. 怎么加快抉择
    • 制品库(全量组件索引信息)
    • 缓存机制(排序 Version 缓存、Spec 对象缓存、缓存复用)
    • 物料剪枝
    • 抉择战略兼容

How to use UIViewController in SwiftUI

@Damien:在 iOS 开发中,SwiftUI 和 UIKit 将会长期共存,无论运用的是哪种结构,有时你都可能需要彼此调用,幸运的是,Apple 能够轻松地将 UIKit 代码引进 SwiftUI 中运用,在本文中,作者将向你展现如安在 SwiftUI 运用 UIViewController。有爱好的读者不妨一读。

viewDidLoad() in SwiftUI

@zvving:从 UIKit 来到 SwiftUI 国际,你可能会困惑:viewDidLoad()在 SwiftUI 下的等效办法是什么?

在声明式视图结构体系下,苹果并没有供给 load view 的行为细节回调。在绝大多数场景,能够经过 onAppear() 模拟 viewDidLoad() 的近似办法。本文详细介绍了模拟过程,以及怎么封装成 view modifier 方便运用。

云音乐 iOS 发动性能优化「开荒篇」

@Smallfly:发动速度是 App 的「门面」,影响用户第一运用体会,是非常重要的体会优化项。本文记录了云音乐 App 在 iOS 13 之后冷发动优化实践。

main() 函数作为分界点,分别从 T1 和 T2 两个阶段进行针对性的优化。T1 阶段的管理首要包含动态库管理、+load 办法、无用代码清理、二进制重排;T2 阶段的管理首要是高频 OC 办法、runtime 符号遍历、网络相关、系统接口、业务影响等等。

经过阶段性的发动性能专项优化,云音乐 App 发动性能提升了 30%+。

大终端范畴的新物种-KUN

@CrazyCoderShi:Flutter 动态化的尝试和建设在社区从未停止过,今年来各种计划层出不穷: AST 解析,JS Engine+,Lua VM 等,各有千秋;KUN 是咸鱼团队基于 Kraken 产出的一套夸多端的 Flutter 动态化计划,统筹 iOS & Android 动态化的同时,对齐 W3C 规范做到 Web 端兼容,其整体计划的思路值得深入学习和学习,暂时并未开源。

音视频

Dynamic Island Animation explained

@ChengzhiHuang:你是否很好奇灵动岛的动画是怎么规划出来的,作者经过将两个圆叠在一起,先含糊(blur)再锐化(sharpen),得到蒙层,复现了同样的动效。

摸鱼周报

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

  • 本期话题:运用 iOS 16.1 Beta 版和 Xcode 14.1 Beta 版,准备登陆灵动岛
  • 本周学习:了解符号 Symbol
  • 内容引荐:Swift、SwiftUI 相关好文引荐
  • 摸一下鱼:iOS 16 锁屏组件以及几个有趣的小东西:emojimix、hexclock、能不能好好说话

重视咱们

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

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

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

阐明

表明需某东西, 表明编辑引荐

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