老司机 iOS 周报 #221 | 2022-10-31

624 阅读5分钟

ios-weekly.png 老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

全新升级 | 第十七届 D2 终端技术大会终于来了~

D2 的前身是「前端技术论坛」,应该有不少前端朋友对它非常了解,去年大概有 2000 多个人报名。今年也升级成了「终端技术大会」,加入了不少客户端的内容,D2 不仅会重视内容的深度,同时也会拓宽内容的广度,希望和大家一起了解一线互联网在前端 / 客户端领域的技术探索与未来。此外,本届 D2 两大方向所擦出的火花,将为单一技术栈的同学带来更多方向性的输入。

从目前报名的议题上看含金量应该会非常不错。目前活动也已经正式官宣了,感兴趣的可以关注下。

Apple 的安全研究平台正式公开上线

苹果的安全平台 Apple Security Research 正式公开上线,可以看作苹果将更加重视社区提交的安全报告。苹果承诺将更快地对提交的内容做出回应,并且提供了更便捷地追踪提交漏洞的方式,开发者能够及时获得状态的更新。并且团队上线了一篇 XNU 内存安全的 kalloc_type 介绍文章。

同时直到 11月 30 日截止,Apple Security Research Device Program 还在接收报名,对安全研究感兴趣的同学可以报名。

文章

🐢 iOS 高级之美(六)—— malloc 分析

@xuyafei86:“iOS 高级之美” 是作者对自己工作中研究的一些总结,涵盖了常见的 Runtime 面试考点。此系列文章围绕底层进行源码分析、LLDB 调试、源码断点和汇编调试,共有 6 篇文章:

  1. iOS_objc4-756.2 最新源码编译调试
  2. OC 对象底层上篇
  3. OC 对象底层下篇
  4. isa 原理分析
  5. 类结构分析
  6. malloc 分析

本篇针对 malloc 展开分析,感兴趣的同学可以阅读原文一探究竟。

🐎 iOS ADRP 汇编指令与虚拟内存

@Damien:你了解 ADRP 吗? ADRP 意为符号的页数地址,那么它是如何生成和确定的呢?本文作者会从最基本的 UITextView 的使用出发,深入汇编源码,一步步为我们展示阐述其中的原理,感兴趣的同学不妨一读。

🐎 iOS SIGKILL 信号量崩溃抓取以及优化实践

@JonyFang: 和其他信号不同,SIGKILL 不可被捕获,这是 Linux/Mach 内核的限制,为了让操作系统在程序无法响应的时候,可以从上一层控制进程的生命周期。自 iOS 13 后,引入了 MetricKit 框架,可以用来汇总和分析有关异常和崩溃诊断以及电源和性能。本文即介绍了如何使用 MetricKit 收集 SIGKILL 信号量、获取崩溃信息,基于 Code 的含义解析 SIGKILL 日志的过程。最后,也介绍了百度 App 常见的 SIGKILL 问题。

🐎 Compiling Swift generics, Part I

@含笑饮砒霜:这是讲解 Swift 泛型如何工作系列文章中的第一部,并且提供了文档和源码。文中首先对 Swift 泛型背后的关键思想进行了总体概述,然后继续讨论对理解 Swift 编译器很重要的基础材料:编译管道、模块系统、请求评估器、类型和声明,最后深入探讨了泛型实现的细节:从泛型声明的 AST 开始,然后讨论泛型签名、替换映射、一致性和泛型环境。

代码

推荐一个 Swift Concurrency 拓展库

@Cooper Chen:这是一个轻量级的 Swift Concurrency 拓展库,在开发 Swift 并发相关方面提供了一些优秀的工具拓展。

  • 提供基于 FIFO 排队的 TaskQueue
  • 提供 CheckedContinuation 扩展用于提升效率
  • 在桥接非异步代码时提升任务扩展的性能
  • 提供了安全的异步集成 NSXPCConnection 扩展
  • 提供 MainActor.runUnsafely 来解决不受控制的错误或注释不足的代码

内推

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

  • [上海] 拼多多 - 特效团队 - Android/iOS
  • [上海] 七猫小说 - iOS/Android/前端/go/大数据 高级、资深工程师
  • [武汉] 微派网络 - 会玩app/青藤之恋 - iOS/Android
  • [杭州] 手机淘宝 - 基础链路客户端团队 - iOS/Android
  • [杭州] 淘宝 - 原生研发模式 - iOS/Android
  • [杭州] 淘宝 - 跨端引擎与开放技术 - iOS/Android/C++
  • [北京/深圳/广州/三亚] 字节跳动 - 剪映 - iOS / Android / PC / Web / C++ 工程师

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

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

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

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

说明

🚧 表示需某工具,🌟 表示编辑推荐

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