老司机 iOS 周报 #90 | 2019-11-11

4,987 阅读5分钟

老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新手推荐

🐎 用 Flutter 打包 iOS 应用的一些细节知识

@含笑饮砒霜:本文向大家介绍 Flutter 的构建系统是如何将 Flutter 项目 (及其资源) 转换为 iOS 应用包的。可以直接使用 Flutter 工具生成,也可以使用自定义的 Xcode 或 Gradle 设置。 分析了 Flutter iOS 应用包中 Flutter.framework 和 App.framework 的结构和组成,如果你在使用 Flutter 构建 iOS 应用时有什么疑惑,可以参考阅读。

文章

🐎 Best resources for Advanced iOS Developer (Swift)

@AidenRao:作者花了几年时间,收集整理的,对于他很有帮助的 iOS & Swift 文章和视频。涉及架构、组件化、面向协议、调试、SwiftUI 等多个分类。收藏它们并学习,对你会很有帮助。

🌟 🐕 美团 iOS 端开源框架 Graver 在动态化上的探索与实践

@老驴:从去年开始,动态化的讨论热度似乎突然冷了下来,究其原因,和 Apple 一再缩紧审核进而导致各大公司选择自用而非开源来规避风险有关。

美团这次就分享了他们的 Graver 框架的背后原理,以及他们对提升渲染性能的一些思考。最后的结果也做到了令人满意,有兴趣在自己产品上想做性能优化的同学不妨一度。

🐢 Device Identifiers and Fingerprinting on iOS

@JimQ:苹果一直致力于保护用户隐私,在不断地更新识别用户的限制措施,但广告商还是会玩猫捉老鼠的游戏,通过设备的各种基本信息组合或者各种骚操作来识别用户指纹(此处非指手指指纹信息,而是代指可以唯一标识用户的信息)。本文主要介绍了在此背景下 iOS 设备标识符的不断迭代,以及在系统各种限制下仍可能被用于识别用户指纹的各种方式,还是相当涨姿势的。而且作者收集到的主要是国外的方式,国内的厂商肯定也有更多秘而不宣的奇葩操作。

这也是一个不断扑火的过程,此处方歇,彼处又生。文章开头作者通过比较宏大的视角来看待这个问题,把广告追踪比作我们这个时代的怪物,但文章结尾还是抱有希望的,毕竟我们还有一个在致力于保护用户隐私的平台,以及作为技术人员,我们还可以发出自己的声音。

🐕 Dart2.6正式版发布

@CrazyCoderShi:近日 Dart 团队又双叒叕 更新了。是的,你没听错。Dart团队在11月初正式发布了 Dart2.6 的正式版本. 最大的亮点是:dart2native。它是现有编译器基础上的一个扩展,能够将Dart程序编译为包含预编译 (AOT) 机器码的 self-contained 的可执行程序。使用 dart2native,您可以使用 Dart 通过 macOS/Windows/Linux 上的命令行创建工具.

工具

中文独立博客列表

@EyreFree:作者希望创造一个可以连接到中文圈高质量独立博主的工具,在保持独立博客自由的同时,让独立博客们也有一个稳定的被发现的渠道,把独立博客们收集起来,目前初步采用 Markdown 列表的形式。同时作者也通过建立 Telegram 群等方式,把独立博客的创作和读者群体组织起来使大家能够建立联系。当然,如果您认为自己的个人博客质量很不错,也可以尝试提交到该仓库的哟。

cocoapods-static-swift-framework

如果项目中有许多动态库,会增加启动时间,而静态链接则没有这个问题。一个方式支持静态库是使用 Cocoapods,但 Cocoapods 仅支持单个 pod,也就是说 podspec 中的静态库选项仅对该 pod 有效。cocoapods-static-swift-framework 这个插件就是解决这个问题的,只需要一句话就可以将所有 pod 编程静态库!

代码

Repeat - 轻量级定时器

@五子棋: Repeat 是一个基于 GCD - Grand Central Dispatch 的轻量定时器,在功能上可用于替代 NSTimer。同时针对 NSTimer API 设计繁琐不易用的特点,作者提供了多种简洁的调用方式。整体代码非常精简,值得一读。

Swift.org - Swift Numerics

@享耳先森:Swift Standard Library 成员 Steve Canon 创建的开源项目,提供数学计算相关 API,弥补标准库中的不足。

SDWebImageSwiftUI

@四娘:SDWebImage 的 SwiftUI 版,基于原版的 SDWebImage 进行封装,之前的生态也可以无缝对接过来,例如各种图片样式的支持等等。

🐎 5 iOS Libraries to Improve and Inspire Your UI

@极速男孩:五个不同的基于 UICollectionView 的 UI 框架。

🐎 Swiftly - Swift 5.1 references for busy coders

@水水:Swift5.1 的一些基本类型的简单介绍和参考示例代码,有需要的读者可以收藏该地址,以备查阅哦~

内推

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

如果你想找工作,点这里:www.yuque.com/iosalliance…

如果你想招人,点这里:www.yuque.com/iosalliance…

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

关注我们

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

同时也支持了 RSS 订阅:github.com/SwiftOldDri…

说明

🚧 表示需翻墙,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)