# 老司机 iOS 周报 #72 | 2019-06-24

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

## 福利

### 🌟 [免费领取小专栏 -- WWDC2019 内参](https://xiaozhuanlan.com/wwdc19/present/380ad33db882a12ae9c0b2402d386ef10ecafa51)

WWDC2019 专栏由「iOS 周报」、「SwiftGG 翻译组」和「知识小集」共同发起，我们招集了30多位优秀的同学，共同把 WWDC2019 上优质的内容进行解读。目前已解读了包含必看 14 篇，SwiftUI 5 篇文章以及推荐 17 篇文章，以下是部分目录，欢迎大家订阅学习~

#### 必看

* [What's new in Xcode 11](https://xiaozhuanlan.com/topic/3719648250)
* [Swift 5 & 5.1 为我们带来了什么](https://xiaozhuanlan.com/topic/1390785624)
* [Sign In with Apple - 使用苹果账号登录你的应用](https://xiaozhuanlan.com/topic/8675913204)
* [机器学习移动端的峥嵘初现: Core ML 3.0](https://xiaozhuanlan.com/topic/7650813942)
* [基于 Metal 的现代渲染技术](https://xiaozhuanlan.com/topic/6927418053)
* [Data Source 新特性：基于 Diffable 实现局部刷新](https://xiaozhuanlan.com/topic/9158203647)
* [iPad 上的多窗口](https://xiaozhuanlan.com/topic/0342159876)
* [用 SiriKit 播放你的 App 内容： SiriKit Media Intents](https://xiaozhuanlan.com/topic/0135497268)
* [What's new in CoreLocation：新增定位临时授权](https://xiaozhuanlan.com/topic/4209567831)
* [全新后台任务框架及最佳实践](https://xiaozhuanlan.com/topic/1806594273)
* [低延迟的 HLS](https://xiaozhuanlan.com/topic/1480297563)
* [内购新特性以及使用 server-to-server 通知](https://xiaozhuanlan.com/topic/0673452981)
* [理解 Vision 框架中的图片技术](https://xiaozhuanlan.com/topic/5821039746)
* [创建独立的Watch应用](https://xiaozhuanlan.com/topic/9460127538)

#### SwiftUI
* [SwiftUI 概览：十分钟构建简单应用](https://xiaozhuanlan.com/topic/9604582713)
* [SwiftUI 多设备兼容](https://xiaozhuanlan.com/topic/1074925368)
* [SwiftUI 自定义视图](https://xiaozhuanlan.com/topic/9586134027)
* [SwiftUI 数据流](https://xiaozhuanlan.com/topic/0528764139)
* [Apple 官方异步编程框架：Swift Combine 简介](https://xiaozhuanlan.com/topic/9683417052)

#### 推荐
* [更现代的 Swift API 设计](https://xiaozhuanlan.com/topic/5203689741)
* [Debugging in Xcode 11](https://xiaozhuanlan.com/topic/1896573024)
* [开始使用 Instrument](https://xiaozhuanlan.com/topic/3869705241)
* [机器学习新工具：Create ML App](https://xiaozhuanlan.com/topic/1960485732)
* [今年的相机有什么新玩法](https://xiaozhuanlan.com/topic/1583627049)
* [快速掌握 Xcode 预览](https://xiaozhuanlan.com/topic/6850724193)
* [CryptoKit 框架与 App 安全防护策略](https://xiaozhuanlan.com/topic/6701982534)
* [Universal Links 新特性](https://xiaozhuanlan.com/topic/3019548672)
* [What’s New in Clang and LLVM](https://xiaozhuanlan.com/topic/5869372401)
* [LLDB: Beyond po](https://xiaozhuanlan.com/topic/5438071296)
* [利用好模拟器](https://xiaozhuanlan.com/topic/0698472351)
* [摄像新玩法：使用多个摄像头同时拍摄](https://xiaozhuanlan.com/topic/6809542731)
* [What's New in App Store Connect](https://xiaozhuanlan.com/topic/8526907431)
* [应用测试与分发渠道简析](https://xiaozhuanlan.com/topic/2076153984)

可直接点击标题链接，或者复制 https://xiaozhuanlan.com/wwdc19/present/380ad33db882a12ae9c0b2402d386ef10ecafa51 至浏览器打开领取。

## 新闻

### [CocoaPods 1.7.2 - Master Repo CDN is Finalized!](http://blog.cocoapods.org/CocoaPods-1.7.2/)

[@享耳先森](https://github.com/iblacksun)：`CocoaPods` 近期发布了 1.7.2 版，支持 CDN，意味着我们不需要将整个 `Podspecs` 仓库 clone 并保存在本地，节省几 G 的硬盘空间。最新的版本中，需要在 `Podfile` 里将修改 `source 'https://cdn.cocoapods.org/'`，CDN 将会在未来版本变为默认设置。

## 文章

### 🌟 🐕 [Flutter 最新进展与未来展望](https://mp.weixin.qq.com/s/dC2C1jpDrQSsip6wjiejBw)

[@CrazyCoderShi](https://github.com/CrazyCoderShi)：Flutter 自打发布以来一直都是跨平台方向的关注焦点, 本文的作者是 Google Flutter 团队的高级研究员董韬, 文章从多个方面分析了 Flutter 的现状, 以及对其未来的展望, 小编读完本文都觉得未来可期呢😄:

- Flutter 及其在中国的发展状况
- 多平台愿景: Flutter for Web
- 生态建设: 与社区共建的状态管理解决方案
- 开发体验: "UI as Code"
- Flutter/Dart 近期展望

### 🌟 🐕 [SwiftUI or Flutter ?](https://juejin.im/post/5d05b45bf265da1bcc193ff4)

[@邦Ben](https://weibo.com/linwenbang)：本文作者通过一些同功能代码例子对比了 SwiftUI 和 Flutter 的代码复杂度，以此说明 Apple 在 SwiftUI 上更为简洁。在 SwiftUI 跨平台方面也进行了介绍，不同系统下的不同表现，这些都视为 Apple 方面对多设备进行了许多的特性处理。

在小编看来，SwiftUI 算是自家多设备兼容，而不算真正的跨平台，和 Flutter 抹平平台间差异的画布做法来说，还是有很大差别，或许暂不应该相比较，两者目标暂不一致。让我们继续期待 SwiftUI 的进展，希望 Apple 爸爸进度能持续加快！

### 🐕 [iOS Code Review - Health check of your Swift code](https://benoitpasquier.com/code-review-health-check-of-swift-code/)

[@莲叔](https://weibo.com/aaaron7)：我们接手一个工程的时候，往往总是习惯性吐槽上一个做这个项目的人做得很垃圾，工程各种有问题。但抛去个人的代码风格不管的话，理性的来看，我们如何衡量一个项目到底是好还是不好呢？这篇博客提出了一个 Swift 工程健康度的概念，并给出了常规的 工程健康度的衡量方法。分别从目录和 git 主页的层面，到 codebase 层面，进一步看代码语言的构成，iOS 的版本，数据库的实现，UI 的方案以及设计模式的使用，最后到是否具备可测试性和 CI/CD 的相关能力，虽然具体每个点都不新鲜，但胜在覆盖全面。有相关需求的同学可以看一下。

### 🐎 [【译】如何正确选型，React Native 还是 Native？](https://mp.weixin.qq.com/s/J-6EKH4fOroPS8RMsC9CJg)
[@looping](https://github.com/looping)：本文总结了 Native 跟 React Native 开发的优缺点，同时为开发移动应用的技术选型提出了自己的看法。如果觉得列的东西太多，不太好分析，文章结尾给出了非常简单的方法 —— “预算充裕，而且也不想在 App 的用户界面和功能上妥协”，即有钱且任性的话，就选择开发原生应用。当然，实际技术选型还得重点关注团队技术能力以及项目需求排期这些因素才能做好。不过从技术的利弊角度看，这篇文章罗列的内容是值得参考的。

## 代码

### [SwiftyGPIO](https://github.com/uraimo/SwiftyGPIO)

[@四娘](https://kemchenj.github.io)：一个适用于Linux / ARM 硬件项目的Swift库，支持 GPIOs / SPI / I2C / PWM / UART / 1Wire 等主流协议，有丰富周边教学和衍生项目。

## 音视频

### 🚧 [SwiftUI Gestures, Blend Modes and 3D Transform](https://m.youtube.com/watch?v=js1qFgJS67Q)

[@张嘉夫](https://github.com/josephchang10)：DesignCode 的视频教程，展示如何用 SwiftUI 制作交互动画，包括手势、Blend Mode 和 3D Transform 等。

## 内推

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

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

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

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

## 关注我们

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

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