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

你也可认为这个项目出一份力,假如发现有价值的信息、文章、东西等能够到 Issues 里提给咱们,咱们会赶快处理。记住写上引荐的理由哦。有主张和定见也欢迎到 Issues 提出。

苹果 App Store 审核问题和体会搜集
老司机预备做一次社区内关于 App Store 审核这方面的问卷调查,旨在了解咱们社区内 App Store 审核的体会与存在的问题。搜集完问卷后咱们会不定期组织有经验的开发者进行圆桌评论,并将典型的问题整理成文发布。能够点击链接填写。

《WWDC22 内参》

上周一共更新了 14 篇文章,现在一共现已更新了 48 篇,每篇质量都非常高,由于篇幅问题,开头先引荐 5 篇可能咱们更感兴趣的,其他的放到周报最终了~

【WWDC22 10056】在 SwiftUI 中组合各种自界说布局

在本 Session 中介绍了 SwiftUI 用于编写运用程序视图布局的一些新东西。

  • 咱们能够运用 Grid 来构建高度可定制的静态信息二维布局。
  • 咱们能够运用布局协议来界说自己的通用布局、可重用布局或特别定制用例的布局。
  • 当咱们想让 SwiftUI 从一组视图中选择最适合屏幕可用空间时,咱们能够运用 ViewThatFits。咱们可- 以运用 AnyLayout 在不同的布局类型之间滑润地过渡。
  • 以及关于 GeometryReader 的评论。

【WWDC22 10106】游戏内存调试与优化

本文展现了 Apple 渠道游戏 App 内存的核算、分配、和调优技巧。全文分四个部分:

  • 榜首部分讲解了内存的根本概念;
  • 第二部分展现怎么运用 Instruments 东西和 Game Memory Template 来剖析游戏,经过游戏内存快照来监测当时内存运用情况;
  • 第三部分介绍了运用 Xcode Memory Debugger 和命令行东西进行剖析优化;
  • 第四部分探究 Metal Debugger 中的 Metal 资源,并提供提示和技巧以进一步优化内存运用。
    经过本文的探究,您能够更好地了解游戏的内存构成和优化游戏的内存运用。

【WWDC22 110370】运用 LLDB 调试 Swift

本文首要介绍了在运用 LLDB 调试 Swift 代码经常见的问题,包括源代码索引问题以及 po 指令失效问题,经过剖析问题呈现的原因和处理计划,帮助各位开发者更深入地了解 LLDB 的调试信息和工作原理,而且学会在杂乱场景下设置 LLDB 友爱的 Swift 项目。

【WWDC22 10122】提高 “经过 Apple 登录” 的体会

本文首要介绍怎么经过 “经过 Apple 登录” 将根据密码的账户升级为具有安全快捷的一键登录凭证,增强和简化运用的登录体会,一起并探究怎么无缝处理 App 中用户会话的更改和账户删除,以及在 Web 和其他跨渠道上充分发挥 “经过 Apple 登录” 的优势。

【WWDC22 10147】 发明优秀的视频播映体会

这篇 session 围绕着 Apple 新升级的视频播映器,描绘了新的播映器的新界面、新功用,以及 Apple 对提高视频播映体会的主张和思考。全文首要分成两部分:榜首部分会介绍新版播映器的功用和播映器的规划主张;第二部分会对播映器新支撑的 API 做出简略的阐述。文章的最终列举了国内外播映器的规划完结,期望对你有所启示。

新闻

HTTP3 RFC规范正式发布,QUIC 会成为传输技能的新一代颠覆者吗?

@莲叔:相信和网络经常打交道的同学对QUIC都不生疏,在很多数据密集传输的领域,如音视频,往往根据 UDP 协议能提供比 TCP 更鲁邦的传输功用和吞吐量。假如网速越来越快,以及 HTTP 协议的大规模运用,使得 QUIC 横空出世成为 HTTP 协议演进的首要方向。手淘现已很早就在实践的事务场景中运用 QUIC 来做网络传输优化并完结了自研的 XQUIC,适逢 HTTP3 规范发布,本篇文章便是由 XQUIC 组的同学共享了关于 QUIC 运用的经验,首要包括【适用的场景】,【事务运用 QUIC 路径】,【QUIC功用提高的选择】以及【服务端 UDP 瓶颈打破】几个方面,对网络优化有需求的同学能够了解看看。

文章

Automatically update if let and guard let for Swift 5.7

@张嘉夫:What’s new in Swift 介绍了 Swift 5.7 对 if letguard let 语法的更新。在 Swift 5.7 之前,当咱们运用 if let 或许 guard let 来展开可选值时,咱们通常会运用相同的命名。最新版别的 Swift 支撑了简写,能够直接省掉等号及右边部分。本文提供了两个正则表达式,以便把代码库全体更新为这个新的、更整洁的语法。此外,作者还提供了一个 pre-commit hook 脚本,以确保你现已进行了转换。

8K HDR!|为 Chromium 完结 HEVC 硬解 – 原理/实测攻略

@JonyFang: 本文简述了 Web 解码计划现状,介绍了作者为 Chromium 浏览器完结、完善硬解码进程中遇到的问题及最终的完结原理。在文末,也附带了测试成果,预编译版别供参阅,期望能够处理 FrontEnd 苦于 HEVC 已久的问题。

Alibaba.com App减肥实践——iOS包大小技能与ROI总结 –

@Barney:本文介绍了阿里巴巴App减肥的全体思路,包体优化的文章有很多,但本篇文章在技能大图上组织的比较明晰,特别对杂乱事务的整理值得借鉴。

  • 事务价值
  • 剖析技能
  • 减肥进程
    • 减肥技能大图
    • 组件减肥
    • 资源减肥
    • 编译优化
    • 代码下线
    • Flutter专项
  • 防劣化

Flutter 小技巧之 Dart 里的 List 和 Iterable 你真的搞懂了吗?

@ChengzhiHuang:本文内容如下:

  • 介绍了 Dart 中的 Iterable 协议的 Lazy 属性,只有被操作时才会生成对应元素,且成果不会被缓存,屡次拜访会导致屡次核算
    • 在 List 上调用 map/where 会回来 lazy 特性的 Iterable
    • 在 List 上调用 toList/toString 等则不会
  • 介绍了 Iterable 懒加载特性的适用场景与注意事项
    • 不要在 Iterable 中运用副作用
    • 分页加载数据、数据库查询 时能够运用 Iterable
  • 对比了 List 与 一般的 Iterable 在内部完结中的不同
    • List 具有 length(长度),内部的 ListIterable 是经过 _iterable.length 与 _iterable.elementAt 完结
    • 一般的 Iterable 是次序拜访的集合,并不关心 length(长度)

笔者:假如做个类比,那在体现上能够了解为 Swift 的 lazy 。现在新的言语大多都有相互借鉴能力的倾向,关于 Swift 的 lazy 能够查看: Lazy Sequences in Swift And How They Work。

干货 | 携程酒店 Flutter 功用优化实践

@CrazyCoderShi: 在事务不断迭代和代码继续更新的状态下,运用的功用始终是一个需求继续重视和优化的点,Flutter 运用亦如此。本文由携程前端团队产出,聚焦于 Flutter 体系下的各类优化及详细办法:

  • FPS&TTI 提高优化
  • UI GPU 问题定位与优化
  • Flutter 服务通道优化
  • 内存走漏治理

笔者: 携程前端团队近大半年在 Flutter 相关的技能上产出颇丰,小编主张各位同学能够翻一下往期相关文章,必定收获满满

经过汇编剖析办法参数,其实很简略~

@AidenRao:咱们经常会在开发进程中遇到溃散,假如是溃散到体系的办法里,咱们想要知道办法的参数什么,在不知道参数的个数和参数类型的情况下是非常头痛的。作者经过几个比如,逐渐讲解函数在汇编下的调用进程,及怎么经过汇编推测函数的参数个数和类型。

Flutter 小技巧之风趣的动画技巧

@EyreFree:Flutter 里完结常见的动画作用很简略,甚至不需求自界说布局,只需求经过官方的内置控件就能够轻松完结。本篇经过共享一个示例动画的完结,简略轻松地讲解了 AnimatedPositioned 和 AnimatedContainer 的运用,而且进一步引出它们是怎么根据 ImplicitlyAnimatedWidget 完结所具有的功用的,剖析了 Flutter 里的动画技巧。在学习和运用 Flutter 的朋友不要错失。

Hummer 引擎优化系列-Sliver多节点和单节点分帧原理Dart Split AOT技能,以及定制化Deferred Components的完结

@极速男孩:Hummer 是阿里的 UC 团队深度定制优化的 Flutter 引擎,榜首篇首要介绍了怎么利用分帧原理 Flutter 中 Sliver 单节点和多节点滑动优化的。第二篇首要介绍了 Hummer 引擎怎么利用 Dart Split AOT 技能和定制化 Deferred Components 来完结本来只能在 Play Store 才能完结的递增下发的功用。

百度 APP 根据 Pipeline as Code 的继续集成实践

@红纸:本文简述的是百度的继续集成实践(Pipeline as Code),让产品线用结构化的言语去描绘他们研制流程需求的一组功用或特性,然后根据描绘(DSL)自动化地生成对应的流水线,其 DSL 参阅于 Github Actions。文中也提到了一些完结细节,包括 Action 的可复用机制、事件触发机制、根据百度云的虚拟机集群、Pause/Unpause 的恢复上下文技能、多种 Action 和 Runner 交互的计划。

React Native 中完结动态导入

@xuyafei:随着事务的发展,每一个 React Native 运用的代码数量都在不断增加,bundle 体积不断胀大,对运用功用的负面影响愈发显着。拆分多事务包尽管能够处理单个运用不断胀大的问题,但仍存在不少局限性。本文,网易云音乐技能团队为咱们带来对 Metro 进行深度定制完结的动态导入(Dynamic import)计划。其能够方便地完结页面按需加载,组件懒加载等能力,感兴趣能够阅览原文了解。

Reduce in Swift

核算一个数组里边所有值的和,咱们可能通常会想用 for 循环去做。但其实 Swift 很早就给咱们提供了一个高阶函数去完结类似的功用,它便是 Reduce 函数。了解函数式言语的同学对 Reduce 应该并不生疏,Swift 里的 Reduce 也是用作数组元素的累加核算,掌握它能够让咱们写出更高雅的完结!

东西

SwifRegex.com

@kemchenj:正则表达式是一种简洁强壮的东西,但伴随而来的是 Debug 难的问题。SwiftRegex.com 便是为处理这个问题而制作的一款东西,让咱们能够快速调试查验自己的正则表达式,而且也提供了 Builder DSL 形式让咱们能够运用 Regex Builder 的表达式来编写。

WWDC22 内参更新

【WWDC22 110355】了解 Swift 异步算法

本文经过阅览源码的方法,来深入了解苹果官方 Async Algorithms 完结逻辑。全文能够分为四部分:

  • 榜首部分介绍对于多个输入情况下,处理输入/输出成果的逻辑
  • 第二部分介绍 Clock 协议,以及相关的运用方法和作用
  • 第三部分介绍在 Clock 协议上完结的两个算法
  • 第四部分简略的比较苹果完结的 Async Algorithms 和常见的面向进程框架

【WWDC22 10043/10044/110404】App Store Connect 中的新特性及最佳实践

本文对本次 WWDC22 中更新的三个 session:10043、10044、110404 进行了归纳整理,整理了本次更新中 App Store Connect 的新特性,并对其中的重要更新功用:增强的 App Store 提交体会、运用基准测试东西、用户订阅状态即时获取,展开了最佳实践评论。

【WWDC22 110380】 SharePlay 中显现广告和插播内容

本文是根据咱们对 SharePlay 技能有必定了解的情况下,介绍关于流媒体 App 运用 SharePlay 技能向不同用户展现不同广告/插播内容时产生不同步问题的处理计划。

【WWDC22 110349/110348】Swift Playground 指北

Apple 在今年 WWDC22 中没有要点展开 Swift Playgrounds 的内容,但 Swift Playgrounds 4.0 以上版别能够作为一个完好、运行在 iPad 中的 IDE,更强壮用户权限办理、更详尽 的 UI 体现以及更符合直觉的代码联想,咱们总算能够在 iPad 上写真正的 App 了!

【WWDC22 10166/10167】探究运用追寻透明化 App Tracking Transparency 与隐私标签

现阶段,所有 App 想要追寻用户的数据,必须要经过 AppTrackingTransparency 框架来获得用户授权。因此,本文将聚焦于运用追寻透明化(App Tracking Transparency),并解说了用户追寻是怎么界说的以及在确实需求接入此框架时,具体应该怎么接入。

【WWDC22 10098】在 Safari 里运用 Web Push

本文根据 WWDC22 Meet Web Push for Safari 的内容整理,介绍 web push 的流程和在 macOS 渠道的完结细节。

【WWDC22 10133】实践项目:运用 SwiftUI 的新功用为 Apple Watch 构建出色的功率 App

“你的手腕从未像现在这样如此高效。”咱们将运用 SwiftUI 在 Apple Watch 上完结滑行键入、与朋友共享内容及显现根本图表,构建一个跟踪「项目完结」功率的、全新的、独立的 watchOS App。

【WWDC22 10018】为 macOS 运用支撑「接连互通相机」

本文介绍了 macOS 13 和 iOS 16 的一个新的联动能力:Continuity Camera(接连互通相机)。这项能力将 iPhone 上优秀的摄像头模组和算力带到了 Mac 上面,并让大部分型号的 Mac 都能够受惠。Apple 不只向咱们展现了接连互通相机强壮的功用/规划及其运用场景,一起演示了怎么快速低侵入得集成接连互通相机的所有功用。

【WWDC22 10048】Safari 和 WebKit 新特性介绍

本文首要介绍曩昔一年,Safari 和 Webkit 有哪些新增功用和改善。全文着重介绍了两个方面的改善,一个是 CSS,耗费了很多的翰墨介绍了曩昔 CSS 上的新增功用。别的便是 Web API 上新增了Web Push、Web Manifest File、Broadcast channels 、文件体系拜访 API 以及在 Canvas 上对 P3 色域的支撑。

摸鱼周报

@摸鱼周报 #59:第 59 期摸鱼周报来了,一起来看下本期概要:

  • 本期话题:CI/CD 和 DevOps 有什么区别?假如你不能准确回答的话,能够读一下这篇介绍,对 DevOps 再次加深了解。
  • 本周学习:OC所运用的类信息存储在哪? 怎么从Macho中找到?
  • 内容引荐: WWDC 2022 上推出的新技能(三番)
  • 摸一下鱼:一款跨渠道摸鱼神器 Thief,风趣的骚话生成器 sao-gen-gen

内推

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

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

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

当然,也欢迎你重视咱们每一期的周报,咱们会在每期周报底部及时更新修改内推岗位。

重视咱们

咱们是「老司机技能周报」,一个继续寻求精品 iOS 内容的技能公众号,欢迎重视。

重视有礼,重视【老司机技能周报】,回复「2021」,领取 2017/2018/2019/2020 内参

一起也支撑了 RSS 订阅:github.com/SwiftOldDri… 。

阐明

表示需某东西, 表示修改引荐

估计阅览时间: 很快就能读完(1 – 10 mins); 中等 (10 – 20 mins); 慢(20+ mins)