# 老司机 iOS 周报 #181 | 2021-11-15

![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) 提出。

## 新闻

### [针对在线多人活动的 app 内购买项目规定提醒](https://developer.apple.com/cn/news/?id=yeyd5xuh)

[@Parsifal](https://github.com/ParsifalC)：在多次推迟**在线多人活动 (一对几和一对多的实时服务体验)实行 IAP 制度**后，苹果终于决定正式实施了。在 2022 年起，若你的 App 存在在线多人活动的功能而又不是使用 IAP 进行支付的话，苹果将会予以拒绝。值得注意的是，仅在两个人之间提供实时一对一服务体验 (例如，学生辅导、医疗咨询、看房服务或健身训练) 的 app，则允许使用 app 内购买项目以外的购买方式。

### [年末假期接受 app 提交](https://developer.apple.com/cn/news/?id=y4fgrhhe)

[@Parsifal](https://github.com/ParsifalC)：往年这个时候，苹果总是开始提醒开发者将会在圣诞节等假日期间停止接受 App Store Connect 审核，而近期苹果宣布了 App Store Connect 这次不放假！但同时，苹果也提醒开发者，在 11 月 24 日至 28 日以及 12 月 23 日至 27 日期间，完成审核可能需时较长。

## 新手推荐

### 🌟 🐕 [Understanding how and when SwiftUI decides to redraw views](https://www.donnywals.com/understanding-how-and-when-swiftui-decides-to-redraw-views/)

[@JonyFang](https://github.com/JonyFang)：SwiftUI 的使用逐渐普遍起来，本篇从实例出发深入分析了 SwiftUI 视图重绘的方式及时间节点，结合重绘的原理，可以在后续开发里更巧妙的发挥 SwiftUI 的优势。

## 文章

### 🐕 [What Is a Deprecated API on iOS?](https://pspdfkit.com/blog/2021/what-is-a-deprecated-api-on-ios/)

[@含笑饮砒霜](https://weibo.com/chinafishnews/)：iOS SDK 包含大量的类、方法和其他接口，其中每一个都可以称为应用程序编程接口 (API)，所有这些 API 共同构成了 iOS SDK 的 API。那么 Apple 是如何随着时间发展弃用其中的 API 呢？

- 介绍 API
- Apple 意识到 API 存在问题，它被标记为已弃用但继续工作，引入替代 API
- 之后，Apple 宣布将删除该 API
- 之后，API 被删除

当 API 被弃用时，这意味着 Apple 不建议使用该 API，但该 API（几乎总是）仍然有效，弃用可能意味着 Apple 打算在未来的某个时候删除 API，并提供较长的过渡期。API 演进是在改进 API 和维护现有应用程序兼容性之间的平衡。

### 🐕 [闲鱼唤端的背后](https://mp.weixin.qq.com/s/MQ2XlroLF6vhM7qP1H-tBQ)

[@享耳先森](https://github.com/iblacksun)：如果你的 App 非常重运营，那么你一定非常想知道在每个运营活动中，带来多少新用户或日活，本文介绍了闲鱼 App 是如何做跨 App 启动以及所见即所得的。所见即所得依赖各端统一的数据上报与解析逻辑。

### 🐎 [Dangerous Logging in Swift](https://indiestack.com/2021/10/dangerous-logging-in-swift/)

[@Damien](https://github.com/ZengyiMa)：你在 Swift 中使用 NSLog 你是否会遇到 Crash 的场景呢？本文作者通过自己的代码中的转义引发 Swift 中使用 NSLog 的 Crash 问题为背景，深入的研究了 Swift 中使用 NSLog 的崩溃风险。感兴趣的同学不妨一读。

### 🐎 [聊聊__attribute__这个关键字吧～](https://mp.weixin.qq.com/s/FTC-IYVCqzGU-00nj5bVfw)
[@Smallfly](https://github.com/iostalks)：本文通过实践探索了 `__attribute__` 关键字在不同参数下的作用，能够帮助读者多维度地了解该关键字的使用场景。

### 🐎 [端智能助力西瓜视频业务实践](https://mp.weixin.qq.com/s/qiVCG2ME8ppzia34txN9Rw)

[@ChengzhiHuang](https://github.com/ChengzhiHuang)：本文详细分析了在预加载视频的场景中``规则预测``的局限后，选择了``模型预测``。并基于业务场景与安全合规的考虑，放弃常规的云智能，选择了端智能的方案，最后获得了巨大的业务收益。其中对于场景的剖析和特征处理值得借鉴，另外可以看出 Pitaya 这套框架的完成度还是不错的，动态下发算法包以及对应的监控都较为完善。

### 🐢 [Core Image Tutorial for iOS: Custom Filters](https://www.raywenderlich.com/25658084-core-image-tutorial-for-ios-custom-filters)

[@anotheren](https://github.com/anotheren)：来自 raywenderlich 的 Core Image 自定义 Filter 教程。本文介绍了使用 Metal Shading Language 来创建自定义 CIKernel、应用滤镜的、以及如何 Debug 的详细流程，有图片/视频处理需求的小伙伴可以尝试一下。

### 🐕 [狐友iOS客户端埋点的前世今生](https://mp.weixin.qq.com/s/be4knvdFsMpykNKVSBnGwA)

[@Barney](https://github.com/BarneyZhaoooo)：本文以**狐友**iOS客户端埋点的实践为例子，向大家介绍了不同的埋点实现方案及一些问题总结。

- **认识埋点**
* **客户端埋点实现**
- **实践过程中遇到的问题**

## 摸鱼周报

[@摸鱼周报 #33](https://mp.weixin.qq.com/s/nznnGmBsqsrWcvZ4XFMttg)：第三十三期摸鱼周报来啦，一起看下本期概要：

* 话题：感恩节和圣诞节期间 AppStore 将正常接受审核。
* Tips：使用 os_signpost 标记函数执行和测量函数耗时；混编｜将 Objective-C typedef NSString 作为 String 桥接到 Swift 中。
* 面试模块：LeetCode - #1 Two Sum。
* 优秀博客：本期为大家整理了一些关于图像识别框架 Vision 的文章。
* 学习资料：Vue Color Avatar，一个纯前端实现的头像生成网站；一篇全面介绍 WebKit 和 Gecko 内部操作的入门文章。
* 开发工具：swiftenv。

## 赞助者

虚位以待..

**非常感谢以上赞助者的支持，如果你也有赞助我们的兴趣，欢迎添加微信 iTDriverr 哦~**

## 内推

老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。

如果你想**找工作**，点这里：https://www.yuque.com/iosalliance/article/bhutav

如果你想**招人**，点这里：https://www.yuque.com/iosalliance/article/ycyhf3

当然，也欢迎你关注我们每一期的周报，我们会在每期周报底部及时更新编辑内推岗位。

## 关注我们

我们开通了公众号，每期发布时公众号（LSJCoding）会推送消息，欢迎关注。

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