老司机 iOS 周报 #339 | 2025-06-23
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新手推荐
🐎 Unique values in Swift: Removing duplicates from an array
@阿权:文章介绍了 Swift 中数组去重一些最佳实践。
- 使用 Set 去重(O(n)),要求元素遵循 Hashable:
- 不关心顺序场景,可以直接创建对应的 Set,再转换为数组来去重。
- 对于保留顺序场景,也可以增加 Set 来跟踪出现过的元组,过滤出重复项。
- 使用 Swift Algorithms Package 提供的
uniqued()
方法。虽然功能完善,不过对于这个场景可能有些大材小用了,还可以能引入不必要的依赖。
大家在工程实践中,推荐用方法一也够用了,另外这也是各公司面试题中的必考基础算法之一噢。
文章
🐕 Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention
@AidenRao:苹果在 iOS 18/macOS 15 中为 UIKit/AppKit 框架秘密添加了“自动观察追踪”功能。开发者只需在应用的 Info.plist 文件中启用一个键值,UI 就能自动响应数据变化,类似 Swift 的 @publish。(从 iOS 26 开始,此功能默认启用。)
🐎 Recreating the bird animation from Swift.org
@Smallfly:这篇文章揭晓了 Swift.org 首页那只「飞鸟」的诞生过程。作者深入剖析了这个令人印象深刻的动画:它并非视频,而是巧妙地利用 HTML5 Canvas 和 JavaScript 实现的纯代码杰作。
核心亮点在于:
- 「画笔」效果: 用特殊的 虚线路径(dash pattern) 技巧,模拟出画笔逐渐绘制出飞鸟轨迹的动态。
- 精准遮罩: 通过 globalCompositeOperation 技术,将绘制出的动态路径作为「模具」,精准地揭示出底层的精美图像。
- 流畅动画: 借助 Anime.js 库 实现平滑自然的运动效果,并考虑了页面加载(MutationObserver)和用户偏好(prefers-reduced-motion)。
🐎 Tips and tricks for when using SwiftUI ’ s ViewBuilder
@DylanYang:本文作者主要介绍了使用 SwiftUI 中的 ViewBuilder 类型的一些实用小建议。比如通过在合适的地方添加 ViewBuilder 属性来使得我们自定义的 View 初始化时可以使用 SwiftUI 风格的 View 描述方式。以及提供了两种不同方法达成初始化参数缺省的方式,以简化自定义 View 的初始化。这些方法虽然并不起眼,但是可以让我们在组织代码的时候获得更多的灵活性。
工具
enableAppleAI
@ChengzhiHuang:可以开启国行设备体验 Apple AI 的工具,优势是不用长期关闭 SIP (完成后可重新开启)。原理是通过修改 eligibilityd 沙盒文件 + 锁权限 。需要注意的是,其中关于注入 eligibilityd 相关代码报错的描述存在一些错误,XcodeLLMEligible 并未替换系统的 eligibilityd ,仅是在开发调试 eligibilityd 时对齐系统行为所用。
Notepad.exe
@EyreFree:Notepad.exe 是专为 Swift 开发设计的原生 macOS 应用,主打轻量高效,可替代 Xcode 用于快速原型和代码实验。它支持 iOS 模拟器集成、智能代码补全、实时错误检测,具备便签式悬浮笔记、库式工作流等功能,还有内置 AI 辅助编码。工具注重隐私,数据本地存储,界面简洁无冗余,适合想避开重型 IDE 的开发者,感兴趣的朋友可以试试。
代码
🐕 macOS 26 恢复启动台小技巧
@Barney:macOS 26 恢复启动台小技巧,终端执行一下命令后重启电脑即可。
sudo mkdir -p /Library/Preferences/FeatureFlags/Domain
sudo defaults write /Library/Preferences/FeatureFlags/Domain/SpotlightUI.plist
SpotlightPlus -dict Enabled -bool false
apple-on-device-openai
@Cooper Chen:这个创新项目巧妙地将 macOS 26 内置的 Apple Intelligence 本地模型(3B 参数)封装成兼容 OpenAI API 的接口,让开发者能在第三方 AI 客户端中直接调用这个轻量级模型,实现隐私优先的本地推理。
技术亮点包括:
- 完整的 OpenAI API 协议兼容,无缝对接现有生态
- 针对 M 系列芯片优化的本地推理引擎
- 智能上下文管理,支持多轮对话
- 典型响应速度控制在 800ms 内(M3 设备实测)
目前项目已在 GitHub 开源,这种创造性地"桥接"系统级 AI 能力的思路,为桌面端 AI 应用开发提供了新范式。对于关注隐私计算和边缘 AI 的开发者,这无疑是个值得研究的样本。
内推
重新开始更新「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)