老司机 iOS 周报 #219 | 2022-10-17
老司机 iOS 周报,只为你呈现有价值的信息。

你也可认为这个项目出一份力,假如发现有价值的信息、文章、东西等能够到 Issues 里提给咱们,咱们会赶快处理。记住写上引荐的理由哦。有建议和定见也欢迎到 Issues 提出。

 Developer – 规划开发加速器

Apple 面向开发者推出 Ask Apple

老司机 iOS 周报 #219 | 2022-10-17

Apple 宣告推出 Ask Apple,这是一项全新的互动式 Q & A 和一对一咨询(Office Hour)系列活动,为开发者供给更多机会与 Apple 专家直接交流交流,获取洞见、支撑与反馈。

开发者需求加入 Developer 计划,而且下载 Slack 参加交流互动(与 WWDC22 的 Digital Lounges 模式类似,其时参加过的同学应该对评论中的丰富信息浮光掠影)。欢迎咱们注册参加 Q & A 的大量论题评论,例如灵动岛、SwiftUI、新平台和硬件的体会优化等。

一起还有中文开发者的 Office Hour 专场(共 4 场),时刻也充分考虑到了国内开发者。

  • 咨询规划布道团队(大中华区)
    • 10 月 21 日上午 10:00 – 12:00
    • 10 月 21 日下午 14:00 – 16:00
  • 咨询技能布道团队(大中华区)
    • 10 月 21 日上午 10:00 – 12:00
    • 10 月 21 日下午 14:00 – 16:00

新手引荐

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 的各个体系,能够得出一些结论:

  • Objective-C 是 iOS 的中心,被大多数应用程序直接或直接运用
  • Swift 的运用在过去的 iOS 版别中迅速增加。本年 Swift 总算逾越了 C++
  • 多年来C++的运用稳定
  • SwiftUI 开端有目共睹,这是一个很好的迹象
  • C正在缓慢但肯定地消失

一文让你理清 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 构建工程。产生过错的原因如下:

  • 由于完成了 SE-0338 ,Swift 5.7 编译器的执行器跳动点(executor hops)与 Swift 5.6 不同
  • Swift 5.7 新增非官方特点 @_unsafeInheritExecutor,用于注释一些需求退出新规则的规范库函数,当编译器编译到该特点时,它会生成不同的执行器跃点
  • 产生编译过错的原因是在 Mac 开发中,Xcode14 运用了 Swift 5.7 的编译器和 Swift 5.6 的规范库,后者不包含 @_unsafeInheritExecutor 特点
  • Xcode14.1 和 macOS 13 SDK 发布后将会修复这个问题

根据自建 VTree 的全链路埋点计划

@Barney: 本文具体介绍了网易云音乐技能团队自研的一套全链路埋点计划,从埋点规划、到客户端三端(iOSAndroidH5)开发、以及埋点校验&稽察、再到埋点数据运用。从规划到背面的考虑和上线实践都有具体的阐明,合适仔细阅览考虑。

虚拟内存 & I/O & 零仿制

@老峰:内存办理也是操作体系的中心功用之一,本文首要讲解了 Linux 体系下内存办理技能,是一篇不错的科普文,首要包含以下四部分:

  • 虚拟内存: 地址翻译、高速缓存、加速翻译&优化页表
  • 内核空间 & 用户空间:内核态与用户态
  • IO:(同步)堵塞 IO、(同步)非堵塞 IO、IO 多路复用、网络 IO 模型、异步 IO
  • 零仿制:传统 IO 流程、mmap + write、写时仿制

东西

妙言 – 更合适工程师用的 markdown 笔记应用

@水水:一个简练好看的开源的 Mac Markdown 修改器,没有任何剩余的功用。运用原生 Swift 开发,轻量性能高,安全纯本地运用,具有语法高亮、漆黑模式、主动格式化、单独修改、演示模式、图床等功用。也能够做为备忘录、归档运用,我个人仍是比较喜爱的。

  • 下载链接:miaoyan.app/
  • 东西源码:github.com/tw93/MiaoYa…

代码

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 期摸鱼周报,一起来看下本期概要:

  • 本期论题:苹果 iOS / iPadOS 16.1 公测版 Beta 3 发布,为老款 iPad 支撑台前调度
  • 本周学习:排查修复 App Store 上架项目闪退问题
  • 内容引荐:iOS 开发技巧及计算机根底内容学习
  • 摸一下鱼:计算麦当劳套餐卡路里的营养计算器,能够模仿木鱼声音的软件,以及插图制作软件

@摸鱼周报 #71:第 71 期摸鱼周报,一起来看下本期概要:

  • 本期论题:十月份还有 One More Thing?Apple 新增 QA 活动;Swift 和 SwiftUI 在 iOS 体系中的运用情况。
  • 本周学习:在 iOS 16 中更改文本修改器布景;处理 Cocoapods 导致的 Showing Recent Messages 问题
  • 内容引荐:SwiftUI 好文引荐
  • 摸一下鱼:引荐一款图片在线处理网站以及老地图查询网站;供摸鱼的迷宫生成器。

重视咱们

咱们是「老司机技能周报」,一个持续寻求精品 iOS 内容的技能公众号,欢迎重视。

重视有礼,重视【老司机技能周报】,回复「2021」,收取 2017/2018/2019/2020 内参

一起也支撑了 RSS 订阅:github.com/SwiftOldDri… 。

阐明

表明需某东西, 表明修改引荐

预计阅览时刻: 很快就能读完(1 – 10 mins); 中等 (10 – 20 mins); 慢(20+ mins)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。