老司机 iOS 周报 #214 | 2022-08-22 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。 文章 🐎 iOS 中的字节对齐 @Smallfly:字节对齐是 C 语言中的概念,Objective-C 作为 C 语言的超集,iOS 开发者也需要对字节对齐有所了解。本文给出了一些字节对齐的建议,以及字节对齐的相关介绍: 什么是字节对齐 为什么要字节对齐 字节不对齐的风险 字节对齐对编程的启示 Objective-C 字节对齐实现 🐕 iOS 底层原理 39:Instruments 系列(三)Animation Hitches @Leo:由于高刷屏和动态帧率的设备出现,用 FPS 来衡量界面的流畅性已经不那么准确了,所以 Apple 提出了 Animation Hitche 这个概念来衡量滑动期间的掉帧情况。本文详细讲解了界面渲染的阶段和原理,并且涵盖了不同阶段引起 Hitche 的原因和解决办法,对流畅性优化有非常好的参考意义。 🐢 网络通信 | HTTP(S) 那些事儿 @AidenRao:HTTP 在整个互联网是非常常见的,比如我们看剧、刷短视频、面向 Google 编程,都会用到它。作为研发,我们有义务深入了解它的结构、规范和设计思路。看完本文你将能够: 🔍 快速定位 HTTP 问题; 🥣 熟悉 HTTP 报文里的常见头字段; 🔐了解基本的加密知识。 最终拥有通过 WireShark、Chrome、Telnet 等工具,甚至 RFC 文档去自行深入学习 HTTP 的能力。 🐕 [iOS 16 NSURLComponents 行为变更] @极速男孩:在 HTTPURL 的 RFC3986 规范中规定,URL 中只允许包含以下四种: 英文字母 数字 -_.~ 4 个特殊字符 所有… ( 2 min )
独立开发变现周刊(第68期) : 建立了一个Reddit搜索工具,第一年就赚了6万美元 分享独立开发产品变现相关有价值的内容,每周五发布。建立了一个Reddit搜索工具,第一年就赚了6万美元 ( 2 min )
老司机 iOS 周报 #213 | 2022-08-15 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。 文章 🐎 How To Boost Your iOS Code Performance:Reduce Searching In Array / Reducing Collection Type Initialisation @Smallfly:这两篇文章介绍了一些提高编码性能的小技巧。在遍历数组时,要警惕多层循环,多思考是否可以利用 Set/Dictionary 降低复杂度。在循环体内尽量避免创建集合类型,特别需要关注值类型的 Copy-on-write。 🐕 货拉拉 iOS 司机端线程治理总结 @AidenRao:文章主要介绍了货拉拉 iOS 司机端,在线程治理方面的实践。如:队列的管理和分配,高并发业务的梳理和重构,线程使用的合理性评估与改造,线程相关 crash 的排查和修复,长效机制的建立。 🐎 Content transition in SwiftUI @Damien:SwiftUI 框架从第一个版本就提供了视图转换功能。每当视图被移除或添加时,可以使用特定的动画来进行呈现。但是在视图内容发生变化时,SwiftUI 框架无法应用动画转换效果, SwiftUI 框架在最新迭代中为我们带来了内容转换的新特性。它允许我们在视图内容发生变化时应用特定的过渡动画,具体怎么做呢?对 SwiftUI 感兴趣的同学不妨一读。 🐢 Shared with You implementation and testing explained @享耳先森:WWDC 22 中苹果将原来仅 Apple 可用的 Shared with you 开放给所有开发者,本文详解了其工作机制和适配方式。 🐎 Advances in Swift Package Manager's dependency access control @张嘉夫:在最新的 Swift 5.7 development snapshot 中 swift 可执行文件新增了一个叫做 --explicit-target-dependency-import-check 的 flag,改进了 SPM 的依赖系统,允许开发者启用或禁用一个新的构建验证步骤,以检测未在 target 的依赖列表中明确定义的 import 语句,并相应触发 warning 或 error。作者在这篇文章中实际测试了这个新的 flag。 🐎 MachO 代码签名剖析 @kemchenj:验证代码的正确性是计算机科学中最难的问题之一,因为不存在普遍意义的正确的算法,所以这一验证通常使用数字签名处理。大家可以通过阅读本文思考代码来源是否合法和代码是否被修改过的验证是如何实现的。 🐎 RTC 场景下的屏幕共享优化实践 @邦Ben:该文章和 iOS 其实并没有直接关系,主要说在飞书上共享屏幕的情况下,如果进行一个策略的优化。通过算法进行识别当前屏幕的内容,然后进行分析自动切换到不同的模式。 清晰模式:主打清晰度,尽量保持高分辨率(如:最高 4K 原画质),带宽或性能不足的时候,只降低帧率(如:从 30fps -> 5fps),不降低分辨率。 流畅模式:主打流畅度,尽量提升帧率(如:最高 30fps),带宽或性能不足的时候,优先降低分辨率(如:从 4K -> 720p),最后才考虑降帧率。 手动切换是个基本的选择,但是通过自动化更佳。识别算法主要是:光流法,决策树,颜色直方图,方向统计。文章大体做了一些介绍,但是也比较属于入门概念介绍,有兴趣的同学可以了解一下。 工具 🐕 Device List | AppleDB @Barney:Device List 可以方便地查询 Model、Name、Board、Soc 之间的对应关系。 摸鱼周报 @摸鱼周报 #64:第 64 期摸鱼周报来了,一起来看下本期概要: 本期话题:今年 8 月,把握与 App Store 专家会面交流的机会 本周学习:Swift 闭包中的变量捕获 内容推荐:程序开发文档及资源网站 摸一下鱼:一款体感识别空气投篮模拟器 App;To-D 杂志 关注我们 我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。 关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参 同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。 说明 🚧 表示需某工具,🌟 表示编辑推荐 预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins) ( 1 min )
独立开发变现周刊(第67期) : 如何建立了一个年收入42万美元的业务,将播客转化为文章 分享独立开发产品变现相关有价值的内容,每周五发布。如何建立了一个年收入42万美元的业务,将播客转化为文章 ( 2 min )
老司机 iOS 周报 #212 | 2022-08-08 老司机 iOS 周报 #212 | 2022-08-08 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。 《WWDC22 内参》 上周一共更新了 12 篇文章,目前总共已经更新了 86 篇,每篇质量都非常高,由于篇幅问题,开头先推荐 3 篇可能大家更感兴趣的,其他的放到周报最后了~ 🌟 【WWDC22 110352/110353】拥抱 Swift 泛型 本文主要介绍 Swift 5.7 中关于泛型新增的语言特性。通过一个示例程序与你探讨泛型的使用场景与协议的接口设计,帮助你理解 some 与 any 修饰符在泛型中的使用。 🌟 【WWDC22 10068】UIKit 新特性 UIKit 作为 iOS 开发过程中非常核心的一个 framework,每年的更新换代都会对其做出一些升级和调整。只不过以往更多是针对单独的改动出独立的 session,没有专门出一个 session 成去体系地介绍 UIKit 里的改动。自从 WWDC 2021 开始,第一次系统地介绍了 What's new in UIKit ,主要围绕的方面包括针对生产效率提升的改动,UI 改动及 API 的改动等等。今年沿用了去年的思路,继续围绕这几个方面展开介绍。这个 session 虽然没有办法展开介绍所有的 UIKit 改动的技术细节,但它会把 UIKit 新特性里最重要的部分归纳到一起,起到提纲挈领的作用,让大家对 UIKit 的变动有一个整体的了解。文中会附有一些 session 的链接以及苹果的官方文档,方便读者了解其更进一步的改动细节。 🌟 【WWDC22 10136/10137/110340/110342】Swift Charts 高效图表的实现与优质图表设计要… ( 3 min )
独立开发变现周刊(第66期) : 如何把一个短链接生成工具变成一个可持续盈利的产品? 分享独立开发产品变现相关有价值的内容,每周五发布。如何把一个短链接生成工具变成一个可持续盈利的产品? ( 2 min )
独立开发变现周刊(第65期) : 个人爱好发展成一项36万美元/年的NFTs业务 分享独立开发产品变现相关有价值的内容,每周五发布。个人爱好发展成一项36万美元/年的NFTs业务 ( 2 min )