老司机 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
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 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