老司机 iOS 周报 #327 | 2025-03-17 #4938
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
iOS Versions Market Share in 2025
网页展示了使用 iOS 系统(包括 iPadOS)的用户的分布变化,其中有两条结论:
新手推荐
🐎 通过覆写方法看 Swift 方法派发
@DylanYang:作者通过一个子类覆写方法的 Demo 向我们解释了 Swift 内静态派发和动态派发两种机制,并介绍了 @objc 和 dynamic 关键字的含义,讲述了如何在 extension 中正确的覆写父类方法。看完以后感兴趣的同学也可以尝试再研究下 Protocol 方法的派发机制。
文章
🐢 A Journey to understand LLVM-IR
@ChengzhiHuang:对于 iOS 开发来说,接触 LLVM-IR 的机会不多,一般逆向研究系统库时会直接反汇编,研究 Swift 时大部分情况阅读 sil(Swift Intermediate Language) 即可解决大部分问题。但也有极端情况下,需要研究 IR 优化时,就需要这块知识了。作者虽然是以 C/Rust 语言的视角进行讲解,但是对于 OC/Swift 是一样的。文章内容大致包含下面几块:
🐕 op run
@AidenRao:这篇文章探讨了传统 .env 文件在开发中的痛点(配置同步难、多环境管理复杂、变更追踪缺失),并介绍了 1Password CLI(op)的解决方案。通过 op run 命令动态注入环境变量,开发者可用 op://URL 引用密钥库中的敏感数据,实现配置与代码分离。步骤包括安装 CLI、创建共享保险库、迁移密钥、更新.env 文件为引用格式,并调整启动命令。
🐕 What drives your users to pay? Jobs to Be Done has the answers
@含笑饮砒霜:本文探讨了 Jobs to Be Done (JTBD) 理论如何帮助企业理解用户真正的需求,并通过精准定位驱动更强的产品变现能力。主要内容如下:
🐢 当 Swift 编译器删除了标准库中的代码 - 记修复 Swift 6 中的冗余 Load 指令消除优化器
@david-clang:本文首先通过最小复现代码,展示了在
-Osize
优化级别下使用AutoreleasingUnsafeMutablePointer
导致的 use-after-free(UAF)崩溃问题。通过反汇编和 SIL 分析,发现 Swift 编译器在冗余 Load 消除优化(RLE)过程中,因误判
_reserveCapacityAssumingUniqueBuffer
函数的副作用,错误删除了数组扩容后必须重新加载缓冲区地址的load
指令,致使后续代码访问已释放内存。作者还给出了修复方案,通过调整逃逸分析对
unchecked_ref_cast
指令中 Optional 转换的路径追踪逻辑,确保编译器正确识别副作用,从而避免冗余load
指令消除,修复 UAF 崩溃问题。文章结尾还分享了调试 Swift 编译器的技巧,全文为深入理解 Swift 编译优化机制提供了宝贵参考。
代码
RealityShaderExtension
@BluesJiang: visionOS 开发官方有两套可选的开发方式,一种是使用 RealityKit,另一种是使用基于 Metal 的自制引擎来自己绘制。苹果推荐使用的 Unity 的 PolySpatial,一种将 Unity 的内容直接导出到 visionOS 上的方式,也是通过第二种模式运行的。
但是第二种模式会存在许多限制,比如没有眼动追踪等。所以有时候还是需要使用原生的开发方式。但是为了保证渲染效果的一致性,作者经常需要将在 Unity 中实现的 Shader 再在 ShaderGraph 中实现一遍。而二者默认提供的 Shader 节点并不一致。
所以作者将 Unity 中有而 RealityKit 中没有的 Shader 效果实现了一遍,并且开源。visionOS 的原生开发玩家可以关注一下。
音视频
How to Do Apple Search Ads (ASA) Right and Grow Your Downloads
@Kyle-Ye: 如何使用 Apple Search Ads 提升你的下载。作者分享了配置使用 ASA 完整流程和一些实用技巧,有自己的独立 App 需要推广的可以学习下。
内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
[上海] TikTok - iOS 高级开发工程师(跨端方向)& 实习生(跨端方向)
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release 老司机 iOS 周报 #327 | 2025-03-17.
Beta Was this translation helpful? Give feedback.
All reactions