老司机 iOS 周报 #225 | 2022-11-28
老司机 iOS 周报,只为你呈现有价值的信息。

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

 Developer – 规划开发加速器

近期线上活动:在 iPhone 锁屏上扩展你的 App 体会

内容简介:发现怎么运用 iPhone 锁屏上的特性,进一步扩展你的 App 体会。学习怎么运用锁屏小组件、实时活动以及通知,为用户创造更丰厚的体会。感兴趣的同学能够在 12 月 7 日前进行报名。

文章

当议论协程时,我们在议论什么

@Leo:一篇关于协程的优秀文章,内容由浅到深,经过一些实际比如回答了以下四个问题:

  • 为什么需求协程?
  • 到底什么是协程?
  • 怎么完成协程 (库)?
  • 运用协程时需求留意什么?

双十一|探究 KUN 的加载性能与增强体会

@Crazy:Kun 是闲鱼自研的终端烘托容器,从页面表现的结果来看已到达接近原生展开的性能。本文一起对怎么处理 Kun 与 Web 兼容的问题进行了简单的论述,并且在优化首屏模块烘托效率的问题上提出了一个完好的规划思路。本文中提到,在解决烘托速度慢的问题上,除掉简单的资源预加载与接口预恳求的方式外,还能够将将互动区域代码合并到页面烘托结构中来提高全体页面烘托速率。并且能够优化接口回来,完成本地与远端合并页面 ui 的方式,来到达近似于原生的加载速度。当然后面两项优化脱离不开全体 Kun 结构的协助,对 Kun 感兴趣的同学能够更加重视 Kun 的开源动态,本文值得我们仔细阅读。

淘宝拍立淘 iOS 相册架构规划小结

@zoeGuo:拍立淘相册作为拍立淘业务的基础功用,已经在线上运转多年。随着不断迭代发展,业务代码也不断增多,遇到了模块化能力与业务代码耦合、架构分层不清晰和必定的用户体会问题。文中详细介绍了相册全体架构的分层规划与完成:

  • 接口层:相册的对外接口(适配层、API)
  • 视图定制层:相册的展示链路(MVVM 架构)
  • 逻辑管理层:相册的读取链路(包括读取 Asset 和获取源文件)、相册的改变链路(观察者模式)、相册的体会优化(预加载、缓存回收)

文章结束还介绍了有关相册完成的几个细节:App 隐私报告、“ Limited Photo Library Access ” 、支持 iCloud 选取、多线程问题。文章对正在开发相册类功用或对相册类运用感兴趣的读者会有所协助和启发。

优先级回转那些事儿

@Damien:优先级回转,是指某同步资源被较低优先级的 进程/线程 所具有,较高优先级的 进程/线程 竞争该同步资源未获得该资源,而使得较高优先级 进程/线程 反而推延被调度履行的现象。本文是字节跳动终端技能团队根据线上卡死问题动身,从底层剖析了呈现的优先级回转的场景以及处理计划。对多线程相关感兴趣的同学值得一读。

@dynamicCallable in Swift explained with code examples – SwiftLee

@Barney:本文用丰厚的示例,对 @dynamicCallable in swift 进行了详细介绍。

  • Why does Swift provide dynamic interpolation?
  • What is @dynamicCallable used for?
  • How to implement @dynamicCallable
  • Combining @dynamicCallable with @dynamicMemberLookup

clipped() doesn’t affect hit testing

@Smallfly:SwiftUI 提供 clipped() 函数对视图进行裁剪,但是该裁剪函数不会影响事件响应,被削减区域依然支持点击。contentShape(_:) 用于界说视图事件响应区域,配合该函数能够屏蔽削减区域的点击事件。

Using complex gestures in a SwiftUI ScrollView

@享耳先森:SwiftUI 因其高档的封装大大的简化了界面建立复杂度,但在某些特定场景中显得能力不足。本文介绍了在 ScrollView 内部嵌套其他手势时遇到的问题以及或许的解决计划。

东西

LaunchAtLogin: Add “ Launch at Login ” functionality to your macOS app in seconds

@Cooper Chen:LaunchAtLogin 是一个针对 Mac 桌面运用开发者,在 macOS13 以下体系,给程序快速添加登录自启动功用的三方库。相较于体系自带的 SMAppService 接口,LaunchAtLogin 在与体系旧版本的兼容性、API 规划方面以及对 SwiftUI 支持方面都有较好的实践。

代码

Xcode 14 打包,iOS 16 ,-[AVPlayer replaceCurrentItemWithPlayerItem:] 崩溃

@JonyFang: 一般运用场景是在画中画切换视频的时候需求用到(如果分辨率变了需求加一段黑屏的),适配了 画中画 的 APP 记住处理。对应的解决计划,可做参阅。

摸鱼周报

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

  • 本周学习:程序员怎么有效提问
  • 内容引荐:SwiftUI 相关的一些博客引荐
  • 摸一下鱼:Combine 操作符辅助理解的图示总结;Token,Session,JWT 这些鉴权技能有哪些区别?Mac 版微信为何不断往电脑中写日志?;Github 开源两款字体;一个摸鱼小网站。

内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供我们参阅

[杭州] 阿里巴巴 – AliExpress -iOS/Android/FE

具体信息请移步:www.yuque.com/iosalliance… 进行查看(如有招聘需求请联系 iTDriverr)

重视我们

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

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

一起也支持了 RSS 订阅:github.com/SwiftOldDri… 。

说明

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

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