老司机 iOS 周报 #219 | 2022-10-17 #3647
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 提出。
Developer - 设计开发加速器
Apple 面向开发者推出 Ask Apple
Apple 宣布推出 Ask Apple,这是一项全新的互动式 Q & A 和一对一咨询(Office Hour)系列活动,为开发者提供更多机会与 Apple 专家直接交流沟通,获取洞见、支持与反馈。
开发者需要加入 Developer 计划,并且下载 Slack 参与交流互动(与 WWDC22 的 Digital Lounges 模式相似,当时参与过的同学应该对讨论中的丰富信息记忆犹新)。欢迎大家注册参加 Q & A 的大量话题讨论,例如灵动岛、SwiftUI、新平台和硬件的体验优化等。
同时还有中文开发者的 Office Hour 专场(共 4 场),时间也充分考虑到了国内开发者。
新手推荐
🐎 Dynamic Island (and Live Activities): Quick start tutorial
@极速男孩:苹果在
Xcode 14.1 Beta 中带来了灵动岛的相关 API ,本文主要介绍了如何简单的利用新的 Live Activities 的 API 来创建一个自己的灵动岛。
文章
🐕 CPU 是如何与内存交互的
@老驴:今年上半年 M1 Pro/Max/Ultra 在 GPU 上实际表现没有达成预期之后引发了很多人对 M1 系列芯片的进一步探究,后来 TLB 容量不足的问题也被发现。那什么是 TLB?CPU 又是如何去映射内存的?本文就从当今主流 CPU 架构出发,科普当今的 CPU 是如何管理使用 L1/2/3 缓存和内存的。
🐕 Apple’s use of Swift and SwiftUI in iOS 16
@含笑饮砒霜:iOS 16 刚刚发布,本文分析了苹果内置的应用程序使用 Objective-C、Swift、SwiftUI 以及 C 和 C++ 的占比。通过对比 iPhone OS 1 到 iOS 16 的各个系统,可以得出一些结论:
🐕 一文让你理清 PrimaryScrollController
@CrazyCoderShi: 对苹果用户来说,大家基本都知道,iOS 手机应用有一个比较常见的功能:点击状态栏,列表就会滚动到顶部. 但是在 Flutter 的各种列表组件中并未带有该特性,本文教大家如何使用 PrimaryScrollController 来实现这一特性.
Where View.task gets its main-actor isolation from
@Damien: Swift 5.5 引入了 async/await 特性,苹果也为 SwiftUI 添加了 task 视图修饰器,以方便开发者在视图中使用基于 async/await 的异步代码,但是你知道 task 是如何获取自己所执行的线程吗?以及它和 MainActor 修饰词有什么关系?如果感兴趣不妨一读。
🐕 Xcode 14.0 generates wrong concurrency code for macOS targets
@Cooper:Mac 开发者在 Xcode 14.0 和 14.0.1 进行构建工程的时候可能会出现并发错误(concurrency bugs),因为 Swift 5.7 编译器在针对 macOS 12.3 SDK 时会生成无效代码。解决方案是在 Xcode 14.1 发布之前,使用 Xcode 13.4.1 构建工程。产生错误的原因如下:
🐢 基于自建 VTree 的全链路埋点方案
@Barney: 本文详细介绍了网易云音乐技术团队自研的一套全链路埋点方案,从埋点设计、到客户端三端(iOS、Android、H5)开发、以及埋点校验&稽查、再到埋点数据使用。从设计到背后的思考和上线实践都有详细的说明,适合仔细阅读思考。
🐢 虚拟内存 & I/O & 零拷贝
@老峰:内存管理也是操作系统的核心功能之一,本文主要讲解了 Linux 系统下内存管理技术,是一篇不错的科普文,主要包含以下四部分:
工具
🐕 妙言 - 更适合工程师用的 markdown 笔记应用
@水水:一个简洁好看的开源的 Mac Markdown 编辑器,没有任何多余的功能。使用原生 Swift 开发,轻量性能高,安全纯本地使用,具备语法高亮、黑暗模式、自动格式化、单独编辑、演示模式、图床等功能。也可以做为备忘录、归档使用,我个人还是比较喜欢的。
代码
Semaphore
@Smallfly:
Semaphore
是一种信号量管理类,它和DispatchSemaphore
区别是不会阻塞线程,而是在 Swift Concurrency 框架下提供更细颗粒度的资源管理能力,例如支持对 Task 的挂起和恢复等。响应式编程 Demo - RxStudy、GetXStudy
@JonyFang: RxStudy、GetXStudy 分别是基于 RxSwift/RxCocoa、GetX 框架的 Demo,可以结合两个项目,对比编程思路。
package-benchmark
@xuyafei:package-benchmark 是一种用于轻松创建 “macOS 和 Linux 的 Swift 性能测试报告” 的工具。它既适用于主要关注运行时的临时小型代码片段(本着 Google swift-benchmark 的精神),也适用于更广泛的指标,例如内存分配、系统调用、线程使用等。
package-benchmark 支持本地使用和基准比较,用于单个开发人员的迭代工作流,但更重要的是,它很好地支持 GitHub CI 的集成。其提供的示例工作流用于在主分支和 PR 分支之间进行自动比较,以支持 PR 的强制性能验证(具有可定制的阈值),这也是该工具的主要预期用例。
摸鱼周报
@摸鱼周报 #70:第 70 期摸鱼周报,一起来看下本期概要:
@摸鱼周报 #71:第 71 期摸鱼周报,一起来看下本期概要:
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 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 周报 #219 | 2022-10-17.
Beta Was this translation helpful? Give feedback.
All reactions