老司机 iOS 周报 #343 | 2025-07-21 #5074
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
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新手推荐
🐎 Meet the Inspector view in SwiftUI
@阿权:文章介绍了 SwiftUI 中检查器视图(Inspector View)的用法:
inspector(isPresented:content:)
控制检查视图的显隐。inspectorColumnWidth(_:)
,和用户拖拽控制宽度inspectorColumnWidth(min:ideal:max:)
。在苹果提供中的 App 中,检查视图是用户早已习惯的交互形式,使用检查视图可能提升 App 的专业性并提升用户体验。
文章
🌟 🐢 An open source tool to speed up iOS app launch
@ChengzhiHuang:Emerge Tools 提供了一个轻量级的收集 App 启动阶段内执行到的函数的收集工具,而不用修改编译选项(开启插桩),以此可以用来投喂给 Xcode 进行二进制重排,进而通过减少启动过程中的 Page In 数量来加快启动速度。技术方案是通过 Linkmap 或者 trick 的方式 收集函数起始的地址。然后对所有函数起始地址替换汇编指令为触发 ARM64_BREAK_INSTRUCTION 。在捕获断点后,记录下此方法,然后跳转原始逻辑继续执行。其中有非常多的细节,推荐对此感兴趣的同学阅读。
同时可以对此工具稍加改造,以此适配收集 App 任意阶段内的执行函数(如某个巨大模块),然后执行预热,以加快某个模块的冷启动首次进入耗时;同时其中涉及到与 SimpleDebugger 的联动,可以进行修改优化,目前是每个函数都执行一次 StopTheWorld + 替换单个函数汇编方便断点记录,可以修改为 批量执行一次 StopTheWorld + 替换所有需要函数。
🐕 Everything You Should Know About Spacer
@AidenRao:SwiftUI 提供了四种
Spacer
类型实现灵活布局:通用Spacer
在可用空间内沿主轴扩展;_TextBaselineRelativeSpacer
支持文本基线对齐;_HSpacer
/_VSpacer
严格限定方向。它们通过PrimitiveSpacer
协议共享核心属性(minLength
,axis
,requireTextBaselineSpacing
)🐕 Swift 6.2 Java 互操作性实践
@含笑饮砒霜:这篇文章展示了如何通过 Swift 6.2 的 swift-java 包实现 Swift 与 Java 的高效互操作。整个过程通过标准工具链(SwiftPM + Makefile)自动化,从 Java 编译到 Swift 调用无缝衔接,大大简化了跨语言开发的复杂度。最终实现了 Swift 程序可以优雅地调用 Java 方法的目标。
🐕 What you need to know before migrating to Swift Testing
@JonyFang: 一篇 Swift Testing 迁移指南摘要,介绍了从传统 XCTest 框架迁移到 Swift Testing 框架前需要了解的关键信息。如:
对于正在考虑升级测试框架的 iOS 开发者来说,这是一篇实用的参考指南。
代码
部分使用了 Data.bytes 的代码无法正常编译
@Smallfly:iOS 26 SDK 中
Foundation.Data
扩展了新的属性var bytes: RawSpan { get }
,如果之前的实现里面使用了 CryptoSwift 对 Data 添加的 extension 中的var bytes: Array<UInt8>
且未明确import CryptoSwift
就会遇到编译器无法正确匹配实现的问题。使用到的位置主动
import CryptoSwift
明确实现来源。CryptoSwift 已将 extension 重命名为 byteArray ,PR。
内推
重新开始更新「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 周报 #343 | 2025-07-21.
Beta Was this translation helpful? Give feedback.
All reactions