老司机 iOS 周报 #214 | 2022-08-22
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
@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 个特殊字符- 所有保留字符,包括 ! * ’ ( ) ; : @ & = + $ , / ? # [ ]
并且要求在使用特殊字符的时候将特殊字符转换成相应十六进制。
所以在 iOS16 中如果你使用
[NSURLComponents componentsWithString:]
或者
[NSURLComponents componentsWithURL:resolvingAgainstBaseURL]
的方法去构建一个不符合 RFC3986 规范的 URL(常见的比如 URL 中包含 - 或者 _ )时会直接返回一个 nil。
🐕 Flutter 状态管理新的实践
@CrazyCoderShi: 声明式 UI 其实并不是近几年的新技术,但是近几年声明式 UI 框架非常的火热。单说移动端,跨平台方案有:RN、Flutter。iOS 原生有:SwiftUI。android 原生有:compose。Flutter 平台上就有多种方案,BLoc,Provider,RivePod,GetX 等。本文从函数编程方向做新尝试,是一份不错的学习资料。小编建议,对于 Rx 系列框架不熟悉的,不要轻易放到生产环境中 .
工具
🐎 Xcode console 替代方案 - ConsoleRedirect
@水水: ConsoleRedirect 是一款通过 redirect App 的 stderr 和 stdoutput 将 Xcode 的输出实时同步写到 macosx 下指定目录的工具。配合 klogg 等日志查看工具,可以实时查看、过滤、查找、高亮 Xcode 的控制台输出。用于代替功能比较单薄的 Xcode 控制台输出,操作比较简单,有需要的朋友可以一试。
Pulse 2.0 released
@kemchenj:Pulse 是一个 Apple 平台的开源日志框架,不止提供了 AppKit/UIKit 集成,也提供了可视化的工具 App 查看日志。最近推出了 2.0 版本,进行了大量重写,包括了:
- 新增 macOS/watchOS/tvOS 的日志查看工具,使用 SwiftUI 实现。
- 性能提升:
- 日志存储空间减少 90%。使用苹果提供的 lzfse 进行压缩,并且使用 SHA1 替代之前的 SHA256。
- 日志的预览图改为小尺寸的缩略图,并且使用 HEIF 编码,以 Demo 为例减少了 99% 的存储占用。
- 文档格式优化。允许控制分享的时间范围,并且使用 lzfse 替代 ZIPFoundation,可以减少分享的文件大小。
- 文档重写,使用 DocC 进行生成。
摸鱼周报
@摸鱼周报 #65:第 65 期摸鱼周报来了,一起来看下本期概要:
- 本期话题:App Accelerator 分享会 & 什么是精准测试
- 本周学习:iOS Memory 内存概念
- 内容推荐:Swift 内容推荐 & Github 实用技巧
- 摸一下鱼:两款动态图片生成器,iOS 16 Beta 6 和 iPhone 14 发布日期确认,系统设计课程以及 Go 语言教程,IAP 服务端通知状态码变化流程。
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
同时也支持了 RSS 订阅:github.com/SwiftOldDri… 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
转载自:https://juejin.cn/post/7134517808418783268