很多人写 iOS 写过三四个项目之后就卡住了:界面能画、接口能调、功能能跑,可一旦项目变大、人一多、需求一变,代码就开始互相牵连。改一个列表样式,结果登录页崩了;加一个埋点,翻遍十几个文件才找到该改哪一行;打包上线前还要手工改证书、手动切环境,一次发版耗掉半天。这类问题不是"语法不熟",而是工程化和架构层面的缺口。

这套 iOS 开发进阶的内容,正面处理的正是这些缺口。它不教你 UILabel 怎么用,也不带你从零写一个 Hello World,而是假定你已经能独立写业务代码,然后逼你回答几个更硬的问题:依赖怎么统一管、环境和配置怎么隔离、UI 层和数据层怎么切开、团队协作时代码风格怎么不吵架、重复的打包发版动作怎么交给机器去做。看完之后你应该能判断,自己现在的项目是"能跑就算"还是有真正的结构。

它解决的不是语言问题,是项目长大的问题

初级和中级的差别,往往不在会不会写 Swift 语法,而在于同一份需求,你能不能写出半年后还改得动的代码。单个页面写 MVVM 谁都会,难的是整个 App 的 UI 层怎么统一;写一个网络请求谁都会,难的是网络层、数据层、仓库模式怎么分层,让上层不关心数据是从本地数据库来的还是从接口来的。这门课反复在做的,就是把这些"结构性问题"拆开讲清楚,而不是给你一堆零散技巧。

另一个很实在的问题是工具链。Ruby 工具链统一开发环境、CocoaPods 管依赖、SwiftLint 管编码规范、Git 与 GitHub 统一流程、Fastlane 管自动化——这些名字你可能都听过,但真正让它们在一个团队里稳定跑起来,是另一回事。课程把这一整条链路串起来讲,目的是让你从"手动做每一步"转向"配置一次、自动执行"。这中间省下的时间,才是所谓效率提升的真正来源。

还有一类容易被忽略的东西:产品迭代的支撑能力。功能开关、隐藏菜单、远程开关、AB 测试、统计分析、崩溃报告,这些听起来像是"产品经理的事",但落地全靠工程师在架构里预留位置。如果你从来没在设计阶段考虑过"这个功能以后要能远程关掉",那每次上线都只能靠发新版本来救火。这部分内容讲的,就是怎么把这类需求提前做进架构。

适合什么基础的人看,别硬上

如果你还没独立完成过一个有网络请求、有多个页面跳转的完整 App,先别急着看这套。它默认你已经熟悉 Swift 基本语法、UIKit 常用控件、Storyboard 或纯代码布局、基本的网络请求流程。缺了这一层,讲依赖注入、仓库模式、响应式状态更新的时候,你大概率只能听懂字面意思,动手时接不上。

比较合适的起点是:做过一两个真实项目,踩过"代码越写越乱"的坑,或者刚进一个多人协作的团队,发现自己的写法和大家不一致。这时候你带着具体困惑来看,每一节都能对上你自己项目里的某个痛点。如果你已经在带小团队、要负责架构选型,那关于 MVVM 选择、UI 层架构、数据层架构这几块,会更像是帮你把模糊经验整理成可以讲给别人听的判断依据。

另外要提醒的是,这套内容横跨工具链、架构、组件、自动化、增长支撑好几条线,一口气全看容易消化不良。建议先判断自己最缺哪一块,按需切入,而不是从第一分钟顺序播到最后。

建议先看哪几块,按缺口挑

如果你最大的困扰是"项目一多人就乱",优先看架构主线:从 MVVM 模式的取舍开始,接着是 UI 层架构、ViewModel 架构、数据层架构、网络层架构。这一串是连贯的,讲的是同一个 App 从上到下怎么分层、层与层之间怎么通信、状态怎么流转。看完之后你至少能说清楚,为什么有的项目一个页面几百行、有的项目十来个文件各司其职。中间的响应式编程一节,是理解状态自动更新的关键,别跳过。

如果你最大的困扰是"每次发版都靠手工",那就走工具链和自动化那条线:开发环境的统一、依赖管理、编码规范、代码管理流程、自动化准备、自动化构建、持续集成,最后到证书与 Profile 的统一管理。这条线看完,你应该能搭起一套从提交代码到产出安装包的半自动流程。打包这节尤其值得细看,证书和描述文件的管理是很多人真正被卡住的地方。

如果你已经在考虑产品侧的事情,功能组件和增长支撑那几块更有用:路由、多语言、语义色与深色模式、动态字体、功能开关、远程开关、AB 测试、统计分析、崩溃报告。这些内容零散但实用,适合当工具箱,需要哪块翻哪块。至于 SwiftUI 替换原有 UI 那一节,更像是给你一个迁移思路,不是让你推翻重来。

学完应该能独立做什么

第一件应该能做到的事,是给你手头现有项目做一次结构体检。你能指出哪些地方职责混在一起、哪些依赖是硬编码的、哪些配置散落在各处,并且能给出改造顺序,而不是推倒重写。这个能力听起来虚,但它决定了你是"只会加功能"还是"能让代码持续演进"。

第二件事,是独立搭起一个项目的工程骨架:环境区分、依赖管理、编码规范检查、模块划分、网络与数据层的接口约定。搭完之后别人接手,能按约定往里填业务,而不是每次都要问你"这个文件放哪"。这正是团队协作里最值钱的部分。

第三件事,是把重复劳动交出去。提交后自动跑检查、自动构建、自动处理证书、自动上传测试包,这些流程你能自己配一遍并维护。再有就是产品支撑能力:能不能远程关掉一个出问题的功能、能不能用开关灰度、能不能靠崩溃报告定位线上问题,这些你都应该有可落地的做法,而不是临时想招。

资料怎么配合练习,别只当视频看

配套的文档资料建议当"参照物"用,而不是从头读到尾。看某一节视频之前,先扫一眼对应文档,知道这节要解决什么、涉及哪些概念;看完之后回到文档,把关键的配置、命令、目录结构对着自己项目试一遍。文档的作用是让你在动手卡住时能快速回查,而不是替代动手。单纯看完视频,过两周基本就忘了。

练习方式上,强烈建议拿一个你正在维护的真实项目来改,而不是新建一个玩具工程。比如学完依赖管理,就把项目里散落的第三方库收拢统一;学完编码规范,就真跑一遍检查、处理掉报错;学完数据层架构,就把某个模块的存取逻辑抽出来。真实项目有历史包袱,改起来别扭,但正是这种别扭让你理解为什么需要这些规范。

如果手头确实没有合适项目,可以按主题各做一个最小验证:一个多环境配置的小工程、一个带功能开关的页面、一条从提交到构建的自动化流水线。每个都只做核心,不求完整。做的时候把遇到的问题记下来,这些问题比视频里讲的知识点更有价值。最后提醒一句,这套内容覆盖面广,别指望一次全吸收,挑最痛的那块先动手,做出一个能用的结果,再进入下一块。

课程目录

📁 文档
文档文档.zip  [1.8 MB]
文档.exe  [601.0 KB]
23  TDD 与单元测试:如何保证功能模块的高质量?.mp4  [78.0 MB]
22  功能实战:如何使用现有架构添加点赞功能?.mp4  [110.7 MB]
24  解决打包痛点:如何统一管理 Certificate 和 Profile?.mp4  [149.4 MB]
17  响应式编程:如何保证程序状态自动更新?.mp4  [161.4 MB]
开篇词  iOS 架构与开发工程化,让你成为 10x 程序员.mp4  [117.1 MB]
21  UI 层架构:如何开发统一并且灵活的 UI?.mp4  [64.6 MB]
31  App Icon 制作:如何使用 Figma 快速制作 App Icon?.mp4  [69.3 MB]
02  依赖管理:如何使用 CocoaPod 统一依赖库的管理?.mp4  [111.7 MB]
20  View Model 架构:如何准备 UI 层的数据?.mp4  [125.2 MB]
05  自动化准备:如何使用 Fatlane 管理自动化操作?.mp4  [45.2 MB]
29  远程开关:如何远程遥控上线 App 的产品行为?.mp4  [46.3 MB]
30  AB 测试:如何用 AB 测试协助产品抉择?.mp4  [84.3 MB]
01  开发环境:如何使用 Ruby 工具链统一开发环境?.mp4  [33.7 MB]
27  统计分析:如何架构灵活的统计分析服务,助力产品增长?.mp4  [109.9 MB]
03  配置准备:如何搭建多环境支持,为 App 开发作准备.mp4  [78.7 MB]
19  数据层架构:如何使用仓库模式设计数据存储层?.mp4  [67.2 MB]
06  代码管理:如何使用 Git 与 GitHub 统一代码管理流程?.mp4  [113.2 MB]
26  持续集成:如何实现无需人手的快速交付?.mp4  [120.3 MB]
18  网络层架构:如何设计网络访问与 JSON 数据解析?.mp4  [144.4 MB]
12  功能组件:如何设置多语言支持,为全球化做准备?.mp4  [63.6 MB]
14  功能组件:如何使用语义色,支持深色模式?.mp4  [77.5 MB]
10  支撑组件:如何实现隐藏菜单,快速测试与验证?.mp4  [118.5 MB]
09  开关组件:如何使用功能开关,支持产品快速迭代.mp4  [56.5 MB]
28  崩溃报告:如何借助崩溃报告解决线上的 Bug?.mp4  [82.1 MB]
25  自动化构建:解决大量重复性人力工作神器.mp4  [188.3 MB]
13  功能组件:如何设置动态字体,提升视力辅助功能?.mp4  [47.9 MB]
11  功能组件:如何使用路由,支持多页面导航?.mp4  [52.0 MB]
07  设计规范:如何统一设计规范,提高沟通效率?.mp4  [107.6 MB]
08  设计组件:DeignKit 组件桥接设计与开发规范.mp4  [106.2 MB]
32  UI 替换:如何使用 SwiftUI 快速替换原有 UI?.mp4  [176.3 MB]
15  跨平台架构:如何设计 BFF 架构系统?.mp4  [119.5 MB]
结束语  眼见千遍,不如手过一遍.mp4  [73.5 MB]
16  架构模式:为什么要选择 MVVM 模式?.mp4  [101.4 MB]
04  编码规范:如何使用 SwiftLint 统一编码规范?.mp4  [70.2 MB]