老司机 iOS 周报 #202 | 2022-05-16 #3432
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
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
🌟 🐢 Flutter 3.0 发布
@CrazyCoderShi: 前两天的 Google I/O 上 Flutter 3.0 已经发布,主要包括 Flutter 对 macOS 和 Linux 正式版支持、进一步的性能改进、手机端和 Web 端相关的更新等等。此外还有关于减少对旧版本 Windows 的支持,以及一些 breaking changes 列表。国内外的相关技术咨询上有诸多讲解,这里小编就简单为大家汇总一下,方便同学们阅读学习:
Developer - 设计开发加速器
通过服务器处理 App 内购买和提供用户支持
2022 年 5 月 17 日(报名截止 5 月 16 日)
了解如何使用 App Store 服务器 API 和 App Store 服务器通知处理 App 内购买,为您的客户提供支持和退款处理。报名预计开放时间:5月12日
音频类 App 专场:为你的音频类 App 提升体验
2022 年 5 月 25 日至 26 日(报名截止 5 月 24 日)
欢迎参加为期两天的音频类 App 专场活动!通过本次活动,您将全方位了解 Apple 的相关技术针对在“音频”领域不同使用场景如音乐、K 歌、有声书以及播客类场景中的最佳实施性等,包括物理音频空间化引擎工作原理和使用,音频识别和分类的智能构建等,以及如何利用 watchOS 打造更好的音频类 watchOS App 等等。期待您的加入和我们一起探索音频领域的空间!
文章
🐕 西瓜视频 iOS Voice Over 无障碍适配实践
@ChengzhiHuang:无障碍的适配既是工信部的要求,也是企业社会责任感的体现。本文介绍了苹果原生无障碍相关的 API 使用以及业务渗透较高场景的适配实践。如有相关适配需求可以借鉴对应场景中的交互方式。文章内容集中于解决如下问题:
🐕 MachO 文件编译链接常见的三大认知误区
@AidenRao:《iOS15动态链接fixup chain原理详解》 对 iOS15+ 动态链接过程性能优化的深度解析,引发了字节跳动 APM 团队对 MachO 文件的编译链接过程探索的兴趣。在学习的过程中,初学者常常会因为对该领域的不熟悉而陷入误区。本文整理了初学者比较容易犯的三大认知误区,避免大家重蹈覆辙。
🐢 Swift 首次调试断点慢的问题解法
@享耳先森:在 Swift 项目开发过程中,相信大家最近两年都深受「首次断点调试启动慢」问题困扰,根据项目大小和结构不同,首次调试时间从十几秒到几分钟不等,最近中文社区对此问题进行深入研究。
优酷团队发文 Swift 首次调试断点慢的问题解法 通过以下命令优化 LLVM 配置:
字节团队发文 Swift 调试性能的优化方案 通过自定义 LLDB 及配置更细致的解决调试断点慢问题,实测效果更加明显。
🐕 Detecting Xcode Previews
@Damien:在 SwiftUI 中想区分当前运行环境是在 Preview 中还是虚拟机中吗?来看看这篇文章吧,作者提供了从 ProcessInfo 中通过 XCODE_RUNNING_FOR_PREVIEWS 获取当前的运行环境的信息的思路,从而可以让我们识别运行环境是在 Preview 还是虚拟机。
🐕 Jenga - 基于 Swift ResultBuilder 优雅的构建 UITableView
@老峰:Jenga 是一个基于 ResultBuilder 封装的类 SwiftUI 使用声明式语法构建 UITableView 开源库,提供了 State 和 Binding 特性,代码简洁,可读性强,感兴趣的同学不妨一试。
🐕 Flutter 状态管理框架 Provider 和 Get 分析
@极速男孩:Flutter 作为一个声明式的 UI 框架状态管理是一个让人头疼的问题,没有状态管理会导致难以复用/单元测试,跨页面无法传递数据,setState 方法会过度刷新的问题。本文主要介绍了 Get 与 Provider 的状态管理的原理,并且如何利用他们去实现 MVP 模式,并且对比了两者的优缺点。
🐢 Flutter 深入探索混合开发的技术演进
@邦Ben: 本文梳理了 Flutter 中 PlatformView 的演进过程,也就是从直接通过 channel 打开一个 WebviewController 到 Virtual Displays 到 Flutter Hybrid Composition 的过程,文中通过各种例子说明原理以及也指明了优缺点,在使用 Flutter 的同学建议一看。同时上周推荐的 UC 团队做的进一步优化进行是下一步演进方向,也可以一并看看。
参考链接:
U4 内核技术 - Flutter PlatformView 优化
🐕 深入理解 OC/C++ 闭包
@xuyafei:ObjC 编译器允许用户在同一个源文件里自由地混合使用 C++ 和 ObjC,相对于其它语言与 C++ 的文件隔离和架桥通信(Kotlin 使用 JNI,Dart 使用 FFI),Objective-C++ 的同文件混编方式无疑是令人舒畅的。虽然 Objective-C++ 没有为 ObjC 和 C++ 类增加功能,类的体系结构也互相独立,类之间不能互相继承,但有时二者也会相互把自己的魔杖伸向对方领域,从而会引发一些比较费解的问题。本文就从两种语言闭包混合捕获的原理出发,了解其混编方式背后机制的冰山一角,也帮助大家写出更好的 ObjC/C++ 混编代码。
代码
老司机技术沙龙
不知不觉,已经联合举办了 6 场开发者活动了。我们对过去几场活动重新做了一次梳理,把所有可公开的资料都上传到了这里,后续的活动也会同步更新到这里。需要的朋友移步自取哈
摸鱼周报
@摸鱼周报 #53:第 53 期摸鱼周报来了,一起来看下本期概要:
macOS
的现代媒体播放器,IINA
由开源媒体播放器mpv
提供支持,几乎可以播放您拥有的所有媒体文件。内推
老司机周报团队联合知识小集和 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 周报 #202 | 2022-05-16.
Beta Was this translation helpful? Give feedback.
All reactions