知识图谱

基础知识

开发基础

需求评审

互联网名词 - 统一语境, 说人话
需求评审检查清单30条

开发阶段

启动流程 & 启动监控 & msgSend

[转载] 抖音 iOS 启动优化 - 原理篇
[转载] 抖音 iOS 启动优化 - 实战篇
[转载] 从汇编角度分析objc_msgSend的hook过程
[转载] 抖音研发实践:基于二进制文件重排的App-启动时长解决方案
[转载] App 二进制文件重排已经被玩坏了
[转载] QQ 9”傻快傻快”的?!带你看看背后的技术秘密

界面布局

UIPageControl 的 autoresizingMask 属性导致布局异常
[转载] 从LCS到UICollectionView
[转载] iOS端一次视频全屏需求的实现

iOS View 跟随陀螺仪移动或者翻转效果实现
iOS 列表元素曝光
iOS 半屏浮层展示列表并支持滑动的快速实现

架构设计 & 组件化

iOS 组件化方案对比
iOS 应用架构谈 学习笔记
[转载] 得物 iOS 工程演进之路
[转载] 抖音 iOS 推荐 Feed 容器化总结
[转载] 抖音 iOS 工程架构演进
[转载] 抖音iOS最复杂功能的重构之路–播放器交互区重构实践
[转载] 如何理解业务系统的复杂性?
[转载] 高内聚,可靠软件设计的支柱
[转载] 软件研发的实用主义思考

应用安全

iOS 应用内容防护(防截屏 防录屏)

无障碍(适老化)

iOS 无障碍化(适老化)适配总结

调试测试阶段

提速调试

静态分析

发布阶段

自动埋点

体积优化

[转载]【WWDC22 110363】App 包大小优化和 Runtime 上的性能提升
[转载] 今日头条 iOS 安装包大小优化 - 新阶段、新实践
[转载] 探索 iOS 编码对包大小的影响
[转载] 特效侧用户体验优化实战-包体积篇

IPA 重签名

iOS App 签名

提交审核

[转载] 闲话 APPLE 的 APP REVIEW 趣事

上线阶段

Crash 标签
线上问题处理步骤
[转载] 我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
[转载] GCDAsyncSocket 在 iOS15 出现 -[_NSThreadPerformInfo dealloc] 崩溃排查笔记

崩溃监控

[转载] 快手主播稳定性 - Mach Port 超限问题治理
[转载] 头条稳定性治理:ARC 环境中对 Objective-C 对象赋值的 Crash 隐患

OOM

[转载] iOS性能优化实践:头条抖音如何实现OOM崩溃率下降一半
[转载] 深入理解iOS-Jetsam机制,助力提升Flotsam召回率

MetricKit

MetricKit2.0 总结

卡顿监控 & Runloop

卡顿(Hitch) 标签 RunLoop 标签
[转载] 深入理解RunLoop
[转载] Matrix for iOS macOS 卡顿监控原理
[转载] iOS 稳定性问题治理:卡死崩溃监控原理及最佳实践
[转载] iOS 高刷屏监控 + 优化:从理论到实践全面解析

日志收集

[转载] 微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog

性能监控

[转载] Matrix-iOS 耗电监控
[转载] iOS微信内存监控
[转载] QQ 客户端性能稳定性防劣化系统 Hodor 技术方案

多线程问题

GCD

[转载] Matrix for iOS macOS 异步堆栈回溯

野指针
优先级反转

[转载] 优先级反转那些事儿

电量问题

iOS 平台功耗分析
[转载] Matrix-iOS 耗电监控
[转载] 视频号直播:如何进一步降低功耗占用?

应用开发

GUI 框架

UIKit

Core Animation

Core Graphics

Core Image

OpenGL ES

响应式框架

KVO & KVC

ReactCocoa

RxSwift

EasyReact

Combine

[转载] 从响应式编程到 Combine 实践

动画

[转载] YYEVA 动画实现

  1. 动图
  2. Lottie & PAG
  3. TFGX & Skia
  4. 动效框架

Spine

iOS 接入 Spine 骨骼动画预研

ABTest

消息总线

PromiseKit

SwiftTask

布局框架

Masonry

富文本

YYText

编码规范

正则表达式

[转载] 正则表达式:使用、原理和优化

原理

系统内核 XNU

RunTime & AOP

AOP 标签 Runtime标签

[转载] - 无埋点核心技术:iOS Hook在字节的实践经验
[转载] Objective-C和Swift最轻量级Hook方案

Method Swizzling

消息转发

Aspect 与 消息转发

方法缓存

[转载] 深入理解Objective-C:方法缓存

libffi

[转载] 学会黑科技,一招搞定 iOS 14.2 的 libffi crash

Fishhook

文章: Fishhook & mach-O

MessageThrottle

iOS MessageThrottle 防抖与 RAC 的冲突
MessageThrottle 结合业务需求的修改
MessageThrottle 修改后崩溃修复

内存

ARC 与 AutoReleasePool
iOS 中的 浅拷贝 深拷贝 以及 完全深拷贝
[转载] iOS微信内存监控
[转载] 深入理解内存分配
[转载] 轻踩一下就崩溃吗——踩内存案例分析

编译

[转载] 编译到底是什么?
[转载] 编译系统(Compilation-System)和编译流程(Compilation-Pipeline)到底是什么
[转载] 从预编译的角度理解Swift与Objective-C及混编机制
[转载] 抖音 Swift 编译优化 - 基于自定义 Toolchain 编译提速
[转载] AST 获取和分析:Clang And Tree-sitter

预处理

可变参数宏
预处理与预编译
Objective-C 头文件展开

链接

[转载] 快速链接:优化构建和启动耗时

汇编

[转载] ARM汇编快速入门
IR和ByteCode有什么区别?

Block

文章: iOS Block 详解
[转载] 深入理解 OC/C++ 闭包
[转载] Block 内调用 super 引发的循环引用

Mach-O

文章: Fishhook & mach-O

图片

SDWebImage4.0 分析
iOS 开发 - 衡量图片的在线加载及优化思路
iOS 动图优化实践
[转载] bilibili-AVIF图片格式落地
[转载] 探秘越来越复杂的 ImageIO 框架
[转载] 用 HDR 图片点亮你的 App
JPEG 与有损压缩
PNG 文件结构解析

数据库

SQLite 的事务 TRANSACTION, 以及 WAL
[转载] 微信移动端数据库组件WCDB系列(三) — WINQ原理篇
[转载] 微信移动端数据库组件WCDB系列(二)— 数据库修复三板斧
[转载] 微信移动端数据库组件WCDB系列(一)- iOS基础篇
[转载] 为什么要从FMDB迁移到WCDB
[转载] 微信iOS SQLite源码优化实践

存储

[转载] 存储空间终于算”对”了
iOS 归档方法野指针崩溃修复记录 archiveRootObject: toFile:

Cocoapods

[转载] 美团 iOS 工程 zsource 命令背后的那些事儿
[转载] 一款可让大型iOS工程编译速度提升的工具

网络

腾讯云 COS 上传
[转载] 美团点评移动网络优化实践
[转载] 淘宝 APP 网络架构演进与弱网破障实践
[转载] RTC 弱网对抗之冗余策略

视频

[转载] - 抖音App端到端画质提升和评测
[转载] WWDC23 10122 - 探索适用于现代 Web 的媒体格式
视频编解码
[转载] 【WWDC21 10158】VideoToolbox 视频编码基础及其低延时新特性

原生与前端

JavaScript

[转载] JIT真的比解释执行快么——关于JS引擎的一些热门话题

JavaScriptCore

WebView

iOS NSURL 编码
iOS 网页分析(WKWebView)
[转载] 基于NSURLCache的缓存实现
[转载] iOS Crash 治理:淘宝VisionKitCore 问题修复

跨端

React Native

Flutter

布局区别

渲染区别

原生渲染

[转载] 移动端渲染原理浅析
[转载] iOS 高刷屏监控 + 优化:从理论到实践全面解析

React Native 渲染

Flutter 渲染

动态化方案分析

[转载] iOS热修复,看这里就够了
[转载] 滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航

JSPatch

[转载] JSPatch-实现原理详解

OCS

[转载] OCS:史上最疯狂的iOS动态化方案

低风险方案

WebAssembly

[转载] 5分钟看懂的WebAssembly入门指南

后端开发

Redis

[转载] 京东二面:Redis为什么快?我说Redis是纯内存操作的,然后他对我笑了笑。。。。。

编程语言

JS & TS

Cocos小游戏开发-TypeScript

Swift

Swift 与 Objective-C 区别是什么

C++

[转载] C++知识体系总结:语言核心与代码工程
[转载] try catch 失效排查 - 探索异常处理机制的迷雾
[转载] C++常见避坑指南

Rust

WWDC

WWDC 标签

算法

分享

面试Tips
导师训练营
代际领导力 - 用 95 后思维领导 95 后
PPT 模板
[转载] 值得收藏!如何快速画出一幅漂亮的架构图

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道