# 老司机 iOS 周报 #227 | 2022-12-12

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

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

## 新闻

### [Foundation 将使用 Swift 重新实现](https://www.swift.org/blog/future-of-foundation/)

[@kemchenj](https://kemchenj.github.io/)：Swift 团队宣布计划 Foundation 将使用 Swift 重新实现：

- **不再基于 C 的实现进行封装**。不再基于 CoreFoundation，不会再有额外的性能消耗在桥接上。纯 Swift 实现，以便社区参与开发和讨论。
- **拆分成多个模块，不再作为一个单一模块存在**。核心部分只保留 Swift 需要的功能（`Data`/`URL` 等），其余的按照功能分类拆分开，以便提升跨平台开发体验。
- **统一 Foundation 的实现**。目前 Foundation 分为两个版本，一个是 Darwin 平台的版本，另一个是跨平台开源的 [swift-corelibs-foundation](https://github.com/apple/swift-corelibs-foundation)，后续会统一并且开源。
    其中 Objective-C 的基础功能和 Apple 平台的业务功能可能不会开源，在 Darwin 平台继续使用之前的版本。

目前还在计划阶段，**最终目标是将新版 Foundation 开源出来**，正在积极获取社区的反馈，初步拆分计划也可以看 [Swift 论坛的帖子](https://forums.swift.org/t/what-s-next-for-foundation/61939)。

一句话总结，Swift is the new Foundation!

### [Apple 宣布 App Store 定价机制最重大升级，新增 700 个价格点](https://github.com/SwiftOldDriver/iOS-Weekly/issues/3771)

Apple 宣布对 App Store 进行问世至今最全面的定价机制升级，为开发者提供新增的 700 个价格点和全新定价工具，让开发者更轻松地针对不同国家和地区的 App Store 设定价格、管理外币汇率变化等。

##  Developer - 设计开发加速器

### [Ask Apple starts December 12](https://developer.apple.com/events/ask-apple/)

今年最后一次 Ask Apple 在本周二正式开始，苹果在 周二中午 12 点-下午 1 点 特地为中文开发者开设了 App Review 相关的开放式问答机会，交流频道位于 " 集锦-简体中文 "。据悉本次 App Review 频道的内容只有中文频道会有，这是对于审核相关内容的直接交流途径，大家有相关问题可以直接在频道内进行提问，苹果会尽量回答每一个问题。  
同时本次 Ask Apple 也惯例会有其他主题的咨询，错过本次活动就得 WWDC23 才有更好的机会了。

## 文章

### [性能提升 2.5 倍！字节开源高性能 C++ JSON 库 sonic-cpp](https://mp.weixin.qq.com/s/ExKL8G-Tgx4sXW6a4NwY4w)

[@anotheren](https://github.com/anotheren): JSON 作为一种可读性较高的数据交换格式，广泛使用于各种前后端数据交互的场景。本次字节开源的 [sonic-cpp](https://github.com/bytedance/sonic-cpp) 主要是作为服务端的性能优化方案推出。大部分情况下，客户端不会遇到这种性能/资源问题，更多考虑的是便捷程度以及和同网络组件的系统集成问题。如果你也面临大数据量的 JSON 读写，可以看看这个库。

### 🌟 🐕 [Flutter 的下一步， Dart 3 重大变更即将在 2023 到来](https://mp.weixin.qq.com/s/L4yMoTlAcVcBV58OdBIo8w)

[@CrazyCoderShi](https://github.com/CrazyCoderShi)：在过去的四年里 Dart 已经发展成为一门高效、可移植的现代化语言. 下一个版本 Dart 3 将达到可靠的 null 安全语言. 同时也带来了一些新特性，比如 `patterns`。 Dart 开发团队同时也在努力支持将 Dart 代码编译为 Wasm ，Wasm 能让 Flutter Web 在浏览器中作为完整的原生代码运行。

### 🐎 [Metal 每日分享 - 系列专栏](https://juejin.cn/column/7168399660153831460)

[@Damien](https://github.com/ZengyiMa): Metal 是 Apple 推出的一个和 OpenGL ES 类似的面向底层的图形开发套件，通过使用相关的接口可以直接操作 GPU，本专栏是基于 Metal 技术的系列文章，囊括了很多 Metal 实战相关的技术文章，并且更新频率较高，对 Metal 相关领域感兴趣的同学不妨收藏阅读。

### 🐢 [Flutter for Web 首次首屏优化 - JS 分片优化](https://mp.weixin.qq.com/s/aeI_64dT9nHMrHajeQctAw)

[@CrazyCoderShi](https://github.com/CrazyCoderShi)：Flutter for Web 上线已久，国内在用的团队不多，所以本篇是一个不可多得的经验篇。使用 Flutter for Web 时有一个明显的问题：其编译产物 main.dart.js 较大，初始的 Hello world 工程编译后产物 js 大小为 1.2 MB，本文详细解讲解了如何通过 JS 分片优化编译产物加载提升首屏加载速速，感兴趣的同学可以参考一番.

### [聚焦探索 In-App Purchase 新特性](https://mp.weixin.qq.com/s/zzeFoUKA7jXcCaKtcgaiiQ)

[@iHTCboy](https://github.com/iHTCboy)：本文主要聚焦于 In-App Purchase 内购商品的测试。在 Xcode 12 之前，App 内购买项目是不能在 Xcode 模拟器中进行购买，只能使用真机进行测试内购充值，因为模拟器无法连接到 App Store 服务器进行交易。苹果在 WWDC20 推出了 StoreKit Testing，通过 Xcode 12 创建 StoreKit 配置文件和搭建本地测试环境，实现本地 App 内购买和验证收据等测试流程，而无需依赖 App Store 服务器。而今年的 WDC22 苹果对 StoreKit 测试流程改进完善，包含 Xcode 14 中测试功能的优化，支持订阅商品更多场景的测试，还有 StoreKit 配置文件通过 App Store Connect 自动同步等等。

### [App Store Connect 中的新特性及最佳实践](https://mp.weixin.qq.com/s/ljMZXAhVZhxzoeMU7VAssw)

[@chenjiamin1130](https://github.com/chenjiamin1130)：本文对本次 WWDC22 中更新的三个 session：10043、10044、110404 进行了归纳整理，梳理了本次更新中 App Store Connect 的新特性，并对其中的重要更新功能：增强的 App Store 提交体验、应用基准测试工具、用户订阅状态即时获取，展开了最佳实践讨论。

## 工具

### 🐕 [实现无入侵式 C++ 代码 mock 工具](https://mp.weixin.qq.com/s/Kc16Q9Fh30sK9eFB8SfADQ)

[@J_Knight_](https://github.com/knightsj): 本文作者基于开源 Hook 框架 Frida-gum 提供的 API，利用 C++ 模板进行封装，编写了一个可跨平台的（MacOS、Linux、Windows、Android、iOS 等） mock 工具。作者先结合代码介绍了该工具的主要功能（函数替换，mock 函数的调用次数，函数的回滚操作等等），然后再结合代码来讲解如何使用该工具来实现这些功能。

## 摸鱼周报

[@摸鱼周报 #78](https://mp.weixin.qq.com/s/27J4NguYRsxYWmff_6iDcg)：第 78 期摸鱼周报来了，一起来看下本期有哪些有趣的内容：

* 本期话题：用 ChatGPT 做点好玩的事：微信聊天机器人「wechat-chatgpt」和 VSCode 插件「ChatGPT 中文版」；App Store 定价机制最重大升级
* 本周学习：解决 Mac Intel 转 Apple Silicon 开发环境配置问题 
* 内容推荐：本期将推荐近期的一些优秀博文，涵盖 ChatGPT、SwiftUI、Swift 等方面的内容
* 摸一下鱼：本期摸鱼带来可以无限生成配色组合的网站 **randoma11y**，听猫咪不同状态声音的网站 **purrli**，由前任天堂设计师的创意团队建立的像素风格的透明素材网站 **dotown**，以及在 Webstorm 中配置 Touchbar 的指南。

## 内推

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

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

## 关注我们

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

**关注有礼，关注【老司机技术周报】，回复「2021」，领取 2017/2018/2019/2020 内参**

![](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）
