# 老司机 iOS 周报 #271 | 2023-12-11

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/271.jpg?raw=true)
老司机 iOS 周报，只为你呈现有价值的信息。

你也可以为这个项目出一份力，如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们，我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

### [25 hours of Xcode Cloud now included with the Apple Developer Program](https://developer.apple.com/news/?id=ik9z4ll6)

从 2024 年 1 月开始，每个付费开发者都将免费获得每月 25 小时的 Xcode Cloud 服务。使用 Xcode Cloud 服务可以方便得完成打包上传提审 TF 这一系列操作，对于独立开发者来说不用花费时间精力研究 AppStore Connect API 还是很有吸引力的。

## 新手推荐

### 🐎 [Play an animation in RealityKit](https://www.createwithswift.com/play-an-animation-in-realitykit)

[@zoeGuo](https://github.com/zoeGuo)：这是一篇介绍使用 RealityKit 在 3D 模型上实现动画的入门级文章。文章简单介绍了 RealityKit 为 3D 模型提供的默认动画如何使用，以及自定义动画的几种方法：定义 transform 变量，通过 move 方法做动画；定义对象的起始位置，使用 FromToByAnimation 方法做动画； OrbitAnimation 可以使对象从指定点开始做平滑的圆周运动；BlendTreeAnimation 可以将多个动画合并执行。

### 🐕 [AsyncStream in the real world: wrapping an Apple Photos callback](https://damian.fyi/swift/2023/12/03/asyncstream-in-the-real-world-wrapping-an-apple-photos-callback.html)

[@Barney](https://github.com/BarneyZhaoooo)：本文以获取相册照片为例，具体讲述了如何使用 **AsyncStream** 优雅地包装相册获取回调。

- 普通写法展示
- 进阶写法展示
- 小问题解决

## 文章

### 🐢 [现代 CPU 技术发展](https://juejin.cn/post/7309061655094837283)

[@含笑饮砒霜](https://weibo.com/chinafishnews/)：这篇文章深入探讨了现代 CPU 技术的多个方面。首先，它详细描述了提升 CPU 性能的各种方法，如增加晶体管数量、优化流水线微架构等。其次，文章强调了模块化设计在现代 CPU 设计中的重要性，以及如何通过组合基础指令集和扩展指令集来满足不同场景的需求。此外，文章也指出了功耗墙对 CPU 性能提升的限制，并探讨了未来可能通过新增 DSA 模块和使用 Chiplet 技术等方式来克服这些限制。在指令集架构方面，文章比较了不同指令集对 CPU 性能和能耗的影响，尤其关注了 x86 和 ARM 平台之间的差异。最后，文章还展望了未来 CPU 可能的发展趋势，包括提高 IPC 和时钟频率、增强多线程并行能力、优化内存技术以及采用大小核异构架构等。总之，这篇文章为读者提供了一个全面而深入的现代 CPU 技术概览，既回顾了当前的技术现状，又展望了未来的发展趋势。

### 🐎 [Introducing Swift MMIO](https://forums.swift.org/t/introducing-swift-mmio/68525)

[@AidenRao](https://weibo.com/AidenRao)：swift-mmio 是一个为嵌入式 Swift 生态系统设计的库，旨在为嵌入式固件开发提供安全、可靠的 API，例如读取和写入内存映射寄存器。swift-mmio 从 C++ 和 Rust 等语言的 mmio 库中汲取灵感，专注于提高与 MMIO 交互的代码的正确性。swift-mmio API 仍在不断发展，作者欢迎大家在 Swift 论坛、GitHub 上提供反馈，

### 🐎 [2024 年 Kotlin Multiplatform 发展路线图 | 官方博客](https://mp.weixin.qq.com/s/IANDWuYiLlE_f2TSTPukaw)

[@Crazy](https://github.com/jiyan135960)：本文是官方推出的一篇关于 Kotlin Multiplatform 在 2024 年开发计划的文章，主要介绍了 Kotlin Multiplatform 团队在 2024 年的整体规划。首先确认了 Compose Multiplatform 在未来的核心地位，ComposeUI 在 Android 端逐渐进入大家的视野，就像当年 Java 切换为 Kotlin 一样，CompseUI 也会逐渐替换 XML 的页面构建形式成为 Android 开发的主流，毕竟 XML 的弊端实在太多，虽然近几年有了 ViewBinding 和 DataBinding 的辅助以后已经好了很多，但是对比于 Flutter 这种简单且快速的构建方式来讲差了很多。在工具方面 Fleet 已经可以开发 Kotlin Multiplatform 并且文章中介绍后续会快速迭代完善开发体验.对于 Multiplatform 核心的研发主要还是提升全平台开发者的开发体验，比如提升编译速度，在 IDE 与构建系统中即成 Swift Export 等。最后是对库生态的介绍，总结一下就是虽然稳定，但还需努力，改动一定很大，但是会兼容。让我们共同期待 Kotlin Multiplatform 可以像 Flutter 一样，在某个时间给我们一个惊喜。

### 🐎 [Upcoming third-party SDK requirements](https://developer.apple.com/cn/support/third-party-SDK-requirements/)

[@Damien](https://github.com/ZengyiMa)：在 2024 年春季，苹果商店即将开启 Privacy manifests 清单的审核，届时，在上传 App 的时候，我们需要提供隐私清单和 SDK 签名，此外苹果也给出了最新的 SDK 名单列表。请大家一定尽早准备，以免在审核期间被拒审。

### 🐕 [MusicKit and App Clips](https://www.polpiella.dev/musickit-and-app-clips/)

[@anotheren](https://github.com/anotheren)：[MusicKit](https://developer.apple.com/documentation/musickit) 是一个与 Apple Music 交互的 Apple 官方框架，这是开发者最方便获取 Apple Music 内容的方式，但是它在 App Clips 中工作不正常。作者介绍了如何通过 URLSession 直接构造 [Apple Music API](https://developer.apple.com/documentation/applemusicapi) 请求，来直接获取相关数据。

## 代码

### 🐎 [Pow: Delightful SwiftUI effects for your app](https://movingparts.io/pow)

[@zvving](https://github.com/zvving)：Pow 是一款基于 SwiftUI 的动画库，其官网详细提供了各类内置动画的预览和上手指南，能方便地为你的 App 注入精美的动画效果。最近，Pow 宣布开源，为那些寻求深入理解 Pow 动画实现的开发者们提供了便利，强烈推荐大家尝试使用和学习！


## 内推

重新开始更新「iOS 靠谱内推专题」，整理了最近明确在招人的岗位，供大家参考

具体信息请移步：https://www.yuque.com/iosalliance/article/bhutav 进行查看（如有招聘需求请联系 iTDriverr）

## 关注我们

我们是「老司机技术周报」，一个持续追求精品 iOS 内容的技术公众号，欢迎关注。

**关注有礼，关注【老司机技术周报】，回复「2023」，领取 2023 及往年内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅：https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

## 说明

🚧 表示需某工具，🌟 表示编辑推荐

预计阅读时间：🐎 很快就能读完（1 - 10 mins）；🐕 中等 （10 - 20 mins）；🐢 慢（20+ mins）
