# 老司机 iOS 周报 #207 | 2022-07-04 #3509
Damonvvong
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
《WWDC22 内参》
🌟 【WWDC22 10078】降低网络延迟:让你的 App 变得更快
如何让 App 变得更快,对于开发者来说是一个永恒的课题。2021 年,苹果给大家分享了许多网络延迟优化相关的理论知识,而今年,苹果在去年的基础上,又为我们带来了这一篇颇具实战指导意义的分享,从客户端侧、服务端侧、网络协议侧三个方面入手提供了一系列行之有效的建议,帮助开发者们更好的分析和改善应用的网络延迟状况,从而让你的 App 变得更快。
🌟 【WWDC22 110427】What's new in Xcode
本文主要从 Xcode 14 功能上的更新以及体积性能的改进入手,通过简单 Demo 的演示,分享此次 Xcode 令人振奋的一些更新。本文将主要聚焦 Xcode 本身的性能优化提升、开发者效率提升以及其他新增功能这几个角度,通过对这些更新的了解,相信会对大家的日常工作开发有很大的帮助。
🌟 【WWDC22 110362】快速链接:提高构建和启动耗时
本 session 是由苹果链接器团队的首席工程师 Nick Kledzik 带来的关于如何实现快速链接的分享。主要介绍了苹果近期在静态链接和动态链接方面的一系列优化,同时帮助大家理解链接过程中的底层细节,让大家可以提升自己 App 的静态和动态链接性能。
🌟 【WWDC22 110355】Meet Swift Async Algorithms
本文通过阅读源码的方式,来深入理解苹果官方 Async Algorithms 实现逻辑。全文可以分为三部分:
🌟 【WWDC22 110351】使用 Swift 并发消除数据竞争
本文主要回顾了在 Swift 5.5 中引入的 Sendable 协议和用法,同时介绍了 Swift 5.7 编译器中基于 Sendable 协议实现的边界检查,防止在任务切换或者 Actor 切换时造成的数据竞争。探讨了低级数据竞争( low-level data race ),也探讨了如何通过在 Swift 并发中实现事务原子性从而防止高级数据竞争( high-level data race ),同时讲述了如何在安全的并发环境中保持代码逻辑的执行顺序。
新手推荐
🐕 iOS内存分析之Memory Graph
@老驴:Memory Graph 是 iOS 开发中经常用到的非常好用的工具。对于一些比较难 debug 的内存泄露类型的 bug 来说,可以做到事半功倍的效果。这篇文章介绍了怎么样使用 Memory Graph,也包括了内存泄露的分析的基础分析方法,如果你是刚接触 iOS 开发的话,不妨来读一读。
文章
🐎 What Apple might do with distributed computing
@Smallfly:本文针对 Swift 不断迭代的并发模型,提出了对苹果在分布式计算领域的发展设想。作者期望苹果系统的跨进程通信能力,能复用在跨设备通信上,来提高苹果设备的协作性。并例举了分布式计算能解决的两个现存问题,一个是 Siri 唤起多设备,设备不能统一化决策问题;另一个是 HomeKit 数据共享问题。
🐎 Existential any in Swift explained with code examples
@享耳先森:在 Swift 5.6 中,SE-335 引入了
existential any
,Swift 5.7 对其进行了增强。本文详细介绍了any
关键词具体用法、和some
的差异及对性能的影响。🐕 如何持续突破性能表现?DX 性能优化策略详解
@Barney 本文介绍淘宝乃至整个阿里集团内广泛使用的 Native 动态化方案 DinamicX,一步步带我们揭开它的神秘面纱,文章干货比较密集,需要仔细品读。
🐢 使用 LLVM
@anotheren:来自戴铭的 LLVM 系列文章,目前已更新至代码真实使用情况的篇章,介绍了如何使用 LLVM 低成本地检查代码使用情况。如果你也需要检查代码的新陈代谢来控制包体积,不妨看看这篇文章。
🐎 Some keyword in Swift: Opaque types explained with code examples
@Damien: some 关键词是 Swift 5.1 的新特性,它的作用是允许你在不定义具体类型的情况下描述预期的返回类型,在 Swift 中可帮助简化代码并提高可读性。同时在 Swift 5.7 也引入了许多改进并且编译器也可以进行代码优化,本文作者细心整理了使用 some 的例子和注意事项,想必看了本文之后能对 some 的理解和使用更上一层楼。
🐎 Dutter | 前车之鉴:聊聊钉钉 Flutter 落地桌面端踩过的“坑”
@老峰:本文主要介绍一下钉钉 Flutter 业务灰度过程中,在桌面端遇到并处理过的几个 FlutterEngine 层面的 Bug。具体包含以下内容:
Mac 端:
FlutterEngine 退出之后内存泄漏问题;
FlutterEngine shutdown 阶段死锁问题;
低版本 macOS OpenGL 析构阶段 Crash 问题;
Windows 端:
Win7 设备渲染模块「Crash + 残影」问题;
FlutterPlugin 注册阶段野指针 Crash;
Flutter Window 可见性变化之后页面白屏。
《Dutter 系列文章》分享了钉钉在跨四端方框架的技术实践与踩坑经验,共分为上、下两篇,上篇内容可点击《钉钉 Flutter 跨四端方案设计与技术实践》,感兴趣的小伙伴建议阅读。
🐕 Flutter 渲染性能问题分析
@EyreFree:Flutter 有很多优点,虽然它在渲染性能上有不少缺陷,但是某种程度上,某些缺陷也是为了实现更高层次的设计目标而不得不承受的结果。这篇文章就是对比 Web (Chromium) 和 Native (Android),对 Flutter 的渲染性能问题进行深入分析,特别是分析惯性滚动性能糟糕的原因。并且提供了一些优化思路和优化结果的分析数据,对 Flutter 性能优化感兴趣的朋友不要错过。
🐎 信息安全 | 互联网时代,如何建立信任?
文章从信息安全是什么说起,到为什么,到怎么做,脉络清晰,层层递进,最后还聊了一些相关的应用加深理解。
通过文章可以让读者回答并理解以下问题:
文章的终极目标是:当我们在遇到密码学相关问题时,不再恐惧和迷惑。
工具
Git 相关
@红纸: lazygit 是一款 GUI 化的 Git 终端交互工具,其界面简洁,通过快捷键就能触达各个指令功能,实属是键盘控的福音了~
约定式提交提供了一种提交 git commit message 的规范化里面,旨在提供「一种用于给提交信息增加人机可读含义的规范」,举例用 "feat(Person): Submit new parameters" 来提供人机可读的交互,feat 代表新功能 (Person) 则代表 Person 作用域,后面则是具体的提交说明。使用约定式提交,我们还可以利用 CI/CD 来自动化生成 CHANGELOG,包括我们 SDK 的 Release Note 都可以这么去做。git-cz 则是一款非常优秀的引导使用约定式提交工具。
WWDC22 内参更新
🌟 【WWDC22 10074】AppKit 框架的新特性
AppKit 是 macOS 应用的核心框架之一。WWDC22 对 AppKit 框架的更新包括对设计语言的完善和平台一致性相关的演进。本文将介绍 AppKit 在 WWDC22 上的新特性和开发者的适配要点。
🌟 【WWDC22 110344/10109】 Developer Mode 与 Notarization
苹果作为隐私安全方面的先行者,一直致力于让用户能够下载到可靠和安全的应用,并确保用户和开发者的使用体验,试图在安全性和易用性上达到一个良好的平衡。
本文介绍的 iOS 方向的 developer mode 和 macOS 方向的 notarization 都是苹果基于这些原则的最新实践。
🌟 【WWDC22 10041】Wallet 和 Apple Pay 的新功能
本文通过回顾 WWDC 2022 了解
Wallet
和Apple Pay
常规更新和新增的功能。其中常规更新包含:无接触支付、Mac 同步 Apple Pay 功能、SwiftUI 新增 API等功能,新增功能包含:多商户支付、自动支付、订单跟踪、身份验证等功能。最后更新了交通卡支持Apple Pay
的城市和地区以及目前支持的设备,并提供相关 Demo 以供大家测试。🌟 【WWDC22 10003】初见 WeatherKit
本文将介绍 Apple 新推出的 WeatherKit 天气服务。全文共分为四个部分:第一部分是介绍 Apple 平台中的天气 app。第二部分是介绍支持查询的天气数据集的具体指标。第三部分是介绍如何使用 Swift 和 Python 3 进行接入及接入注意事项。第四部分是总结和展望。
🌟 【WWDC22 10075】结合使用 SwiftUI 和 AppKit
本文以 macOS 版本的快捷指令应用(Shortcuts)为例,介绍把 SwiftUI 和 AppKit 结合使用的一些方式和注意事项。
🌟 【WWDC 110371】 使用 Xcode 进行多平台开发的那些事
本文将配合 Xcode 14 从以下几个方面讲述多平台项目从开发到上线的过程。
🌟 【WWDC22 110345】 使用 Endpoint Security 保护 Mac 安全
本文将主要聚焦于 Mac 的 EndPoint Security 功能的新特性。全文共分为 3 个部分:第一部分是介绍端点安全将取代之前的 kAuth 等 API 。第二部分是对 Muting 技术的介绍,包括如何使用官方 API 。最后一部分是关于 eslogger 可以提供更加丰富的端点安全事件。
🌟 【WWDC22 10076】 将你的 iOS 应用搬到 Mac 上
SwiftUI 可以跨整个苹果生态,Flutter 可以跨大多数主流平台,为什么我还要选 Mac Catalyst ?假如有一套已经基于 UIKit 实现的 iPad 代码想要迁移到 Mac 上的话,Mac Catalyst 将是你的不二之选。本文将为你介绍 iOS 应用迁移到 Mac 上的几种方式,并且展示了新系统中的新接口。
🌟 【WWDC22 10007】 IAP 新特性
本文结合 WWDC21 IAP 相关能力,对 WWDC22 IAP 相关新特性进行了梳理回顾。本年度苹果虽无 WWDC21 的大拆大建,但却进行了大量的小修小补。苹果对基础能力的补充,让 StoreKit 2 从可用变成好用。阅读本文,与我们一同探讨优化 StoreKit 2、App Store Server API 及 App Store Noitfications V2 的相关策略!
🌟 【WWDC22 10155】ScreenCaptureKit:MacOS 上的高性能屏幕录制框架
屏幕录制一直以来都是一个桌面系统需要提供的基本能力,可以应用到很多场景,例如:视频会议中的桌面共享、电脑游戏直播、远程桌面控制等。 今年的 WWDC 苹果新推出了一个 MacOS 上的高性能屏幕录制框架 ScreenCaptureKit。 ScreenCaptureKit 不仅通过提供更加易于理解的 API 来简化开发成本,还大大提升了屏幕录制的性能,以便 MacOS 用户可以获得更佳的使用体验。
🌟 【WWDC22 10089】 What's new in PDFKit
本文基于 WWDC17 Introducing PDFKit on iOS 以及 WWDC22 What's new in PDFKit 两个 Session 的内容梳理,先后介绍了 PDF 的简介、苹果在 PDF 处理中的发展历史、PDFKit 的基本内容以及 PDFKit 最新的特性。
🌟 【WWDC22 10120】进化你的 Core Data Schema
数据迁移是数据库绕不开的话题。在 Core Data 中,轻量迁移更是每一个使用者的必修课。本文将由浅入深的介绍 Core Data 轻量迁移的功能、局限与最佳实践以及迁移在 CloudKit 中的注意事项。
🌟 【WWDC22 10077】验证码的替代者—私有访问凭证
验证码技术一直被用于真实流量识别,虽然比较有效但是也给用户带来了一些不便,于是一些平台尝试收集用户隐私信息来精准识别用户。一向注重保护用户隐私的苹果则认为这种做法不可取,于是苹果带来了新的认证技术:Private Access Token。
🌟 【WWDC22 10061】将多窗口引入 SwiftUI 应用
本文将围绕构建 SwiftUI app 的多窗口进行讨论。 共分为 4 个部分:
4.介绍一些在 app 中自定义 scene 的方法。
摸鱼周报
@摸鱼周报 #58:第 58 期摸鱼周报来了,一起看下本期概要:
内推
老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
如果你想找工作,点这里:https://www.yuque.com/iosalliance/article/bhutav
如果你想招人,点这里:https://www.yuque.com/iosalliance/article/ycyhf3
当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release # 老司机 iOS 周报 #207 | 2022-07-04.
Beta Was this translation helpful? Give feedback.
All reactions