likes
comments
collection
share

老司机 iOS 周报 #214 | 2022-08-22

作者站长头像
站长
· 阅读数 9

老司机 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 编程,都会用到它。作为研发,我们有义务深入了解它的结构、规范和设计思路。看完本文你将能够:

  1. 🔍 快速定位 HTTP 问题;
  2. 🥣 熟悉 HTTP 报文里的常见头字段;
  3. 🔐了解基本的加密知识。

最终拥有通过 WireShark、Chrome、Telnet 等工具,甚至 RFC 文档去自行深入学习 HTTP 的能力。

🐕 [iOS 16 NSURLComponents 行为变更]

@极速男孩:在 HTTPURL 的 RFC3986 规范中规定,URL 中只允许包含以下四种:

  1. 英文字母
  2. 数字
  3. -_.~ 4 个特殊字符
  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)