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

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

周报修改组又来新人啦 ~ 欢迎陈家黎 (Cooper Chen) 参加周报组织。家黎现在专注在 Mac 桌面运用开发和架构规划,同时对编译器、链接器以及 CI/CD 等方向均有研究。希望家黎的参加也能为咱们带来更多元化的内容输出!

新闻

应战上岛:适配实时活动和灵动岛

实时活动用于在 iPhone 锁屏以及灵动岛上显示来自 App 的最新信息,帮助用户及时检查当前任务和事件的开展。参加此次活动,开发者将了解怎么规划和开发的实时活动,以及怎么运用灵动岛带来更超卓的用户体会。

参加讲座的开发团队可在讲座当天报名参加实时活动和灵动岛适配应战,经过审核后可获得一对一的咨询与深度教导。参加应战,并能够在 2022 年 12 月 20 日前完成适配和上线的团队,将有机会获得更多 App 的推广机会。请在 2022 年 11 月 8 日前报名参加。

第二期字节跳动技能 iOS 技能沙龙正式敞开报名

@Barney:第二期字节跳动技能 iOS 技能沙龙正式敞开报名了! 本期沙龙将环绕静态剖析视频播放品质优化主页 Feed 重构自动化服务端智能技能探究等 5 大技能方向 , 11 月 12 日下午 2 点沙龙将以免费线上直播的形式与咱们碰头。 以下是详细主题:

  • 抖音 iOS 从静态剖析到准入体系:进击的“钟馗”
  • 抖音 iOS 视频播放品质优化实践
  • 抖音 iOS 主页 Feed 重构探究与实践
  • 抖音 iOS 自动化服务:东西链演进与优化实践
  • 机器学习技能在抖音 iOS 的探究与实践

文章

自动化测验在美团外卖的实践与落地

@EyreFree:跟着美团到家事务的开展,体系复杂度继续增长,外卖各个页面的技能形状也许多,除了 Native 代码,还包括 Mach(外卖自研动态化框架)、React Native、美团小程序、H5 等,研制人员一半时刻在开发、一半时刻在模拟环境和自测。因而引进自动化测验就显得非常有必要,本文介绍了美团外卖在自动化测验方向做的一些探究和实践,包括可溯源的自动化测验、跨 App 回放用例、埋点的录制回放等,引荐正在从事相关范畴作业的同学阅览。

Towards the next generation of XNU memory safety: kalloc_type

@Damien:内存安全缝隙是最常见,最广泛运用的缝隙问题,而且当今几乎一切流行的用户设备都依赖于用 C 和 C++ 等被认为 “内存不安全” 的编程言语编写的中心体系代码,本文来自 Apple 官方安全工程与架构团队文章,向群众展现了苹果在处理内存安全缝隙方面的努力,本文会从以下几个视点为咱们完好的介绍了新的一代内存分配器 kalloc_type

  • 对安全问题的介绍,包括目标、规划原理和必须克服的应战。
  • kalloc_type 安全分配器的技能完成原理。
  • 安全剖析和评估,包括优势和下风。

本文是安全问题的系列文章内容的第一篇,感爱好的同学能够订阅 Apple 官方 Blog。

深化了解 virtual 关键字

@莲叔:virtual 是 C++ 最常用的一个关键字,绝大多数同学可能关于 virtual 的了解还停留在外表,认为是假如咱们需求覆写父类的方法,则需求将对应的方法标记为 virtual。尽管这个习气不能说不对,但本质仍是一种盲人摸象。这篇文章深化浅出的介绍了 virtual 为什么能够为咱们处理承继中遇到的问题,有无 virtual 在集成中的差异,以及最终还扼要的介绍了 virtual 的完成原理,非常合适平常需求书写 C++ 的同学阅览,ROI 非常高(收获 / 阅览时刻)。

聊聊 iOS 中的像素对齐

@Smallfly:像素对齐是 UI 开发中比较根底的概念,像素不对齐可能会呈现视觉效果不符合预期,还会导致一些额外的功用损耗。本文选用通熟易懂的方法,介绍 iOS 体系中像素不对齐会产生的效果,以及在不同场景下像素对齐的处理方法。

Resolver for iOS Dependency Injection

@JonyFang:Resolver 是一个依赖注入 / 服务定位框架,它的中心逻辑是服务定位的规划完成。Resolver 的中心主要包括三个部分:ResolverRegistrationResolverScopeResolver,它们各有各的职责,遵循了职责单一的规划准则,而且完成了一个扩展性很强的策略模式。本文是 RAYWENDERLICH.COM 供给的一篇入门教程,能够依据实例 Demo 了解 Resolver 的运用。

美团高功用终端实时日志体系建造实践

@Cooper Chen:本文介绍了美团是怎么从 0 到 1 建立高功用终端实时日志体系 Logan,其服务于移动端 App、Web、小程序、IoT 等终端场景下的实时日志处理计划,旨在供给高扩展性、高功用、高可靠性的实时日志服务,包括日志收集、上传、加工、消费、投递、查询与剖析等能力,其中落地成果如下:

  • 中心链路还原
  • 内测阶段排障
  • 日志数据剖析

希望能为咱们带来一些帮助和启示。

智能测验实践之路 – UI 遍历技能

@老峰:UI 测验在大促断网演练、线上问题巡检、功用回归测验兜底、埋点覆盖、流水线质量门禁等许多场景下有重要作用,但传统 UI 遍历技能依赖 uiautomator 和 wda 框架获取页面 Dom 数据结构,在稳定性、功用、兼容性方面均有一定痛点,本文是京东结合传统 dump hierarchy 获取视图树和 openCV 页面切割两种技能手段在智能测验方向的探究实践,包括以下内容:

  • 智能切割辨认获取页面元素
  • 运用图画视觉和 AI 辨认处理遍历进程弹窗
  • 运用图画 Hash 和切割轮廓特征标识页面
  • 多端兼容的指定页面遍历计划
  • 多种借力于 AI OCR CV 技能的断语方法

iOS 灵动岛开发实践

@水水: 本文作者经过电商常用的抢购产品案例出发,从根底概念、开发预备、项目构思、项目代码实践到最终成果展现的完好的描绘了灵动岛的开发实践进程,是非常好的参阅资料。假如对灵动岛开发有爱好的朋友们能够了解看看哦 ~ 关键词:

  • Max 体系版本、编译器及 iOS 体系版本:>=MacOS12.4、>=Xcode14.0+beta4、>=iOS16.1+beta
  • ActivityKit
  • SwiftUI
  • Widget

盒马 iOS Live Activity & “灵动岛”配送场景实践

@J_Knight_:盒马团队将灵动岛技能落地到了盒马 30 分钟配送的场景,作为第一批适配的运用,获得了 Apple Store Today 的引荐。本文首先共享事务落地效果,并结合全体的技能计划共享了在开发进程中遇到的技能难点(比如实时更新,机型适配,过渡动画等)以及处理计划。

基于优酷事务特征的跨平台技能 | GaiaX 开源解读

@xuyafei86:GaiaX 跨端模板引擎是在阿里优酷、淘票票、大麦内广泛运用的 Native 动态化计划。其选用自定义 DSL 建立 UI,Native 原生 UI 组件进行烘托的技能形状。运用 json 和 css 描绘 UI 元素、数据绑定和动态扩展信息。GaiaX 还具有动态化能力,并供给相关的开发东西,感爱好的同学能够重视此系列文章。

Swift Package Manager 工程实践

@AidenRao:本文详细介绍狐友团队在引进 Swift Package Manager 进行工程实践中,探究和累积的相关常识和实践经验,从结构规划、资源处理、链接方法的挑选、编译与链接参数设置、异常处理,这五个方面展开详细介绍,每个小部分结尾都供给了最佳实践的总结。希望能够帮助其他想要尝试 Swift Package Manager 的开发者顺畅过渡。

由 kingnight 引荐录入

摸鱼周报

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

  • 本期话题:Apple Search Ads 新增广告位,遭受质疑;macOS Ventura 初体会,更像 iOS,功用更强大。
  • 本周学习:Swift 函数派发方法总结
  • 内容引荐:网络监控内容引荐,iOS 博主在新西兰找作业的心路历程
  • 摸一下鱼:多种脚本言语中优雅处理参数的三方库;原神助手 mac 版

内推

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

  • [北京/杭州/上海] 抖音 – 西瓜视频 – iOS
  • [上海/北京] 小红书 – 客户根底架构技能团队 – iOS – P6/P7/P8
  • [北京] 字节跳动 – APM 客户端团队 – iOS

详细信息请移步:www.yuque.com/iosalliance… 进行检查(如有招聘需求请联络 iTDriverr)

重视咱们

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

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

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

说明

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

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