Swift 是 Apple 平台的现代系统级语言,配合 SwiftUI、Combine 与 Swift Concurrency 构成了当前 iOS 原生开发的主流技术栈。本专题从语言基础讲到上架发布:Swift 现代语法、可选类型与错误处理、协议与泛型、SwiftUI 声明式界面与状态管理、UIKit 与 SwiftUI 混合开发、Combine 与 async/await 并发、SwiftData 与 Core Data 持久化、URLSession 网络层设计、ARC 内存管理与循环引用排查、Instruments 性能剖析、XCTest 与 Xcode Cloud 持续集成,以及代码签名、Provisioning Profile 与 App Store 审核上架流程。
📚 专题导览
本专题共 18 篇,前 12 篇按「语言 → 语言 → UI → 并发 → 数据 → 网络 → 内存 → 性能 → 质量 → 发布」的顺序组织,后 6 篇为补充进阶内容(并发 → 架构 → 后台 → 安全 → 动画 → 工程),建议按表序通读:
| 阶段 | 文章 | 技术要点 |
|---|---|---|
| 语言 | Swift 语言基础与现代语法 | Swift 语法基础、值类型与引用类型、属性观察器与现代语言特性 |
| 语言 | Swift 可选类型与错误处理 | Optional 解包策略、guard/if let、Result 与 throws 错误传播 |
| 语言 | Swift 协议与泛型编程 | 协议与协议扩展、关联类型、泛型约束与存在类型 any/some |
| UI | SwiftUI 声明式界面与状态管理 | SwiftUI 视图树、@State/@Binding/@Observable 状态与数据流 |
| UI | UIKit 与 SwiftUI 混合开发 | UIViewRepresentable 与 UIHostingController 双向桥接与混用边界 |
| 并发 | Swift 并发 Combine 与 async/await | Combine 发布者链、async/await 与 Actor 隔离、任务取消与结构化并发 |
| 数据 | iOS 数据持久化 SwiftData 与 Core Data | SwiftData 模型与查询、Core Data 栈、迁移策略与并发上下文 |
| 网络 | iOS 网络层设计与 URLSession | URLSession 封装、Codable 解码、重试与缓存、ATS 与证书校验 |
| 内存 | Swift 内存管理与 ARC 循环引用 | ARC 引用计数、强引用环与 weak/unowned、闭包捕获与泄漏定位 |
| 性能 | iOS 性能调优与 Instruments 剖析 | Instruments 时间剖析器、启动耗时、离屏渲染与主线程卡顿治理 |
| 质量 | iOS 测试体系与持续集成 | XCTest 与 Swift Testing、UI 测试、Xcode Cloud 与 Fastlane 流水线 |
| 发布 | App Store 上架流程与签名机制 | 证书与描述文件、TestFlight 分发、App Store 审核要点与上架流程 |
| 并发 | Swift 结构化并发与 Actor 隔离 | Task 与 TaskGroup、Actor 隔离与 Sendable 检查、取消传播、数据竞争检测 |
| 架构 | iOS 架构模式:MVVM 与 TCA | MVVM 绑定与副作用、单向数据流、TCA 的 State/Action/Reducer、依赖注入与测试 |
| 后台 | iOS 后台任务与 APNs 推送 | BGTaskScheduler 后台刷新、静默推送、APNs 令牌与通知扩展、执行时间配额 |
| 安全 | iOS 安全:Keychain、生物识别与传输安全 | Keychain 访问控制、LocalAuthentication 生物识别、Secure Enclave、ATS 与证书固定 |
| 动画 | Core Animation 与 SwiftUI 动画 | CALayer 渲染树与隐式动画、CADisplayLink、matchedGeometryEffect、离屏渲染 |
| 工程 | Swift Package Manager 与模块化拆分 | SPM 依赖与 XCFramework 二进制目标、模块边界、多包工作区、Swift 6 迁移 |