#301
版本发布时间: 2024-08-12 13:35:56
SwiftOldDriver/iOS-Weekly最新发布版本:#305(2024-09-09 10:35:38)
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
WWDC24 内参
🌟 WWDC24 10177 - 用 HDR 图片点亮你的 App
@陈震昊:本文首先简要阐述了 HDR 相关的基本概念,例如 reference white、headroom 以及 tone mapping,然后回顾了苹果以往建立的 HDR 标准以及 HDR 渲染技术,最后重点介绍了今年新推出的 Adaptive HDR 标准以及在该标准下,如何对 HDR 图片进行读写、编辑和展示。
🌟 WWDC24 10073 - 提升 SwiftUI 的可访问性体验
@Jason:深入了解 SwiftUI 如何提供开箱即用的内置 Accessibility,以及如何使用工具来完善和打造你的应用程序的 Accessibility。
新闻
‘ You are a helpful mail assistant, ’ and other Apple Intelligence instructions
@含笑饮砒霜:在 macOS Sequoia 15.1 开发者测试版中,有用户发现了一些包含人工智能后台提示的 JSON 文件,并分享了如何找到这些文件的方法。这些文件揭示了苹果 AI 工具在接收到用户提示之前所接收到的隐藏指令。这些指令为 AI 工具提供了如何响应用户输入的指南,例如邮件助手如何基于邮件内容提问,以及如何生成“回忆”视频等。此外,还提到了一些具体的指令要求,如限制字数、不捏造事实信息等。同时,本文也提醒用户在探索这些系统文件时要谨慎行事,因为它们涉及系统敏感信息。
文章
🐕 SwiftUI app lifecycle: issues with ScenePhase and using AppDelegate adaptors
@Barney:这篇文章入剖析了 SwiftUI 的 ScenePhase
API,并指出了它在跨平台应用生命周期管理上的局限性。文章建议,为了更细致地控制应用生命周期,应该扩展 ScenePhase
或引入新的 AppPhase
API。同时,作者发现在 macOS 上,依赖 ScenePhase
不如直接使用 NSApplicationDelegate
来得可靠。为开发者在构建跨平台应用时提供了宝贵的见解。
🐎 Swift Protocol 背后的故事(理论)
@DylanYang:本文作者从原理上解析了在 Swift 中 Protocol 是如何实现的。Swift runtime 为每个类型都生成了类型元信息(Type Metadata),不同类型的元信息的共同特点是都包含了 VWT、Kind。Class、Struct 的实例上通过 Existential Container 模型来指导 Protocol 变量布局内存,非类约束的 Protocol,会在此模型中通过 type 指向真实类型的元信息,类约束的 Protocol 因为类的实例中已包含了类的元信息,故此模型中不再包含。而泛型在无约束、类约束或者 Protocol 约束的情况下表现均有不同,并在特定条件下特化,改为静态派送来提升性能。感兴趣的读者可以阅读本文,了解更细节的知识。
🐕 轻踩一下就崩溃吗——踩内存案例分析
@Cooper Chen:本文探讨了内存踩踏问题的现象、成因及解决方案,结合具体案例和代码示例,详细解析了全局符号介入和编译参数不一致引发的内存错误。主要通过四个章节进行了分析,分别是:
- 踩内存问题分析成本高,需要借助专业的调试工具和方法
- 即使代码逻辑本身没有问题,全局符号介入机制也可能导致内存越界
- 编译参数不一致会引发内存踩踏崩溃
- 工程标准化,能够有效减少踩内存等问题的发生
🐎 Zoom transitions
@极速男孩:这篇文章主要介绍了如何在 iOS 18 SDK 中分别用 SwiftUI 和 UIKit 使用缩放过渡。作者通过具体的代码示例展示了如何在不同的场景中实现缩放动画,比如从一个列表项缩放到一个全屏的详细视图。此外,文章还讨论了如何优化源视图和目标视图的选择,以确保过渡动画的自然和流畅。
工具
🌟🌟🌟 Cursor: The AI Code Editor
@kemchenj:Cursor 是基于 VSCode 的一个 AI 编辑器,实际使用比起 VSCode+Copilot 体验好上不少。使用 Cursor 只需要会用两个快捷键:
- CMD+k,单文件编辑,选中你要修改的代码,告诉他需要修改的内容,还能贴 UI 图
- CMD+i,多文件编辑,直接按快捷键,然后按 + 号指定改动的文件,告诉他需要修改的内容
然后站起来走两步,拿起杯子喝口水,看着他把代码写好,健康编程从此刻开始!!!
音视频
🐢 Embedded Swift Tutorial - Getting Started (Everything you need to know)
@Kyle-Ye: 一篇关于 Embedded Swift 的详细教程,对嵌入式 + Swift 方向感兴趣的可以观看。目前 Embedded Swift 还处于较早期的玩具阶段,期待后续搭配 HomeKit/Matter 生态的进一步发展。
内推
重新开始更新「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)