很多人写 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]






