这门课解决什么工作场景

做 iOS 开发,最消磨耐心的往往不是写业务代码,而是反复折腾证书、配置描述文件、打测试包、传蒲公英或 App Store Connect。这些活儿琐碎、易错,还经常在下班前突然冒出来。这门课聚焦的 fastlane,就是专门用来把这些发布环节自动化的命令行工具。它的价值不在于让你学会某种新语法,而在于把原本依赖人工点击 Xcode 和网页后台的流程,固化成可复现的脚本。如果你每周都要打两三次包,或者经常因为证书过期、打包配置错乱而加班,这门课就是冲着这个痛点来的。学完之后,你能把一个 App 从编译、签名、打包到分发的过程,压缩成一条命令搞定。

适合什么基础与学习顺序

看这份资料的前提,是你已经有基本的 iOS 开发概念,知道怎么在 Xcode 里跑起一个工程,对苹果开发者后台的证书体系有粗略认知。资料本身默认你能用终端、懂一点 Ruby 语法,但不需要你是 Ruby 高手。如果你完全没碰过命令行,建议先补一下基础操作再来看,否则会在初始化环境这步卡壳。

拿到资料后,建议的观看顺序是:先看开头的介绍与演示,确认它实际跑起来的效果,建立整体预期;接着动手跟做项目环境初始化,把本地工程跑通;然后重点啃核心概念那几节,把 lane 和 action 的区别搞明白。资料里对这两者的工作目录差异讲得比较细,这部分别快进,它决定了你以后写脚本时,代码放哪个位置才对。看完概念后,立刻回到自己的真实项目里,照着加一个最简单的 lane,比如自动清理派生数据或跑一遍测试,亲手敲一遍比看三遍视频管用。

学完能独立做什么

跟完这套资料,你不一定能立刻搭出公司级复杂发布平台,但完全能独立给自己手头的 App 写一套自动化打包流程。具体来说,你能初始化一个项目的 fastlane 配置,编写自定义的 lane 来串联编译和签名,还能把团队里重复的打包动作抽成独立 action 复用。往后遇到要加新测试设备、换分发渠道,你只需要改两行配置而不是重走一遍全流程。配合资料练习时,建议拿一个不重要的练手项目当试验田,先别往主分支上直接套,等脚本跑稳了再合并进团队工作流,这样踩坑成本最低。


掌握在iOS这块绝大部分的fastane开发需求

课程目录

*   01 fastlane 是什么,能做什么?/

  *   01 fastlane 介绍.mp4 01:45

  *   02 演示使用 fastlane 自动化构建 App 仓库.mp4 03:46

  *   03 后续课程安排.mp4 03:26

*   02 初始化 fastlane 项目环境/

  *   01 初始化 fastlane 项目环境.mp4 04:59

*   03 初识 Fastfile、lane、action/

  *   01 在 fastlane 中如何写我们自己代码?.mp4 06:00

  *   02 添加一个 lane.mp4 07:50

  *   03 添加一个 action.mp4 07:16

  *   04 action 需要单独使用 run 子命令,在命令行中调用.mp4 01:38

  *   05 lane 与 action 在工作目录上的重大区别.mp4 05:25

  *   06 可以改变 lane 工作目录,但不建议.mp4 09:08

  *   07 Fastfile 内的各个区域的工作目录.mp4 03:33

*   04 Fastfile/

  *   01 分模板组件你的 fastlane 代码.mp4 04:02

  *   02 批量导入定义了 lane 的文件.mp4 06:58

  *   03 自定义的 lane 必须在 Fastfile 导入.mp4 01:44

  *   04 lane 重复导入.mp4 03:31

  *   05 lane 循环导入.mp4 02:04

  *   06 解决上面的问题.mp4 06:28

*   05 lane/

  *   01 lane之间调用、传递参数.mp4 07:18

  *   02 返回值.mp4 01:18

  *   03 lane_context 数据共享.mp4 03:08

  *   04 key 写法改进.mp4 01:39

  *   05 lane 与 action 数据共享.mp4 05:08

  *   06 终止 lane 执行.mp4 02:18

  *   07 private lane.mp4 03:01

  *   08 private lane 应用.mp4 02:42

  *   09 hooks.mp4 03:17

  *   10 分环境使用 error hook.mp4 04:26

  *   11 封装 error hook.mp4 06:22

  *   12 send.mp4 05:02

  *   13 设置环境变量.mp4 05:53

  *   14 fastlane_require.mp4 03:45

  *   15 调用外部可执行文件.mp4 07:49

  *   16 拼接多行执行语句.mp4 04:40

  *   17 把 fastlane 当做一个 ruby 库使用.mp4 06:30

*   06 action/

  *   01 使用一个 action.mp4 03:53

  *   02 命令行查看 action 使用说明.mp4 02:13

  *   03 创建一个自己的 action.mp4 03:09

  *   04 命令行调用 action.mp4 02:16

  *   05 lane 中调用 action.mp4 01:32

  *   06 校验 action 合法性.mp4 01:45

  *   07 用户交互.mp4 09:06

  *   08 指定路径下的 action.mp4 02:47

  *   09 开始设置 action 需要的参数.mp4 01:25

  *   10 参数的基本写法.mp4 05:50

  *   11 Boolean 参数.mp4 03:52

  *   12 命令行传递 bool 参数值.mp4 01:39

  *   13 Array 参数.mp4 06:25

  *   14 多态 参数.mp4 10:01

  *   15 callback 参数.mp4 04:58

  *   16 定义 callback 几种方式.mp4 02:38

  *   17 verify_block 校验参数值.mp4 04:56

  *   18 冲突 参数.mp4 07:44

  *   19 可选 参数.mp4 01:46

  *   20 参数 读取自文件.mp4 05:19

  *   21 文件的路径问题.mp4 03:07

  *   22 不应该出现 action1 调用 action2.mp4 04:46

  *   23 本地复用 action.mp4 02:10

  *   24 工具代码封装到 Helper.mp4 10:33

  *   25 实现 git_clone 这个 action.mp4 09:31

  *   26 指定 action 类别.mp4 04:01

*   07 plugin/

  *   01 action 的缺点.mp4 04:16

  *   02 查找有哪一些 plugin.mp4 01:05

  *   03 添加一个 plugin 依赖.mp4 09:44

  *   04 安装 plugin.mp4 03:06

  *   05 删除 plugin.mp4 01:05

  *   06 使用 plugin.mp4 03:27

  *   07 plugin 本质.mp4 07:56

  *   08 创建一个 plugin 项目.mp4 14:24

  *   09 关联到 git 仓库.mp4 01:51

  *   10 发布 plugin.mp4 09:21

  *   11 plugin1 调用 plugin2 不合理.mp4 02:22

  *   12 将一个 action 手动包装为 plugin.mp4 05:35

*   08 Fastfile 复用/

  *   01 local 复用.mp4 05:25

  *   02 remote 复用.mp4 04:04

  *   03 注意点2.mp4 05:37

  *   04 注意点1.mp4 08:18

*   09 lane、action、plugin 区别/

  *   01 lane、action、plugin 区别总结.mp4 16:18

*   10 手把手实践 App 自动化构建流程/

  *   01 准备你的 iOS App 工程.mp4 00:51

  *   02 配置工程的 ruby 环境.mp4 03:18

  *   03 初始化 CocoaPods.mp4 00:53

  *   04 初始化 fastlane.mp4 00:59

  *   05 配置文件作为自动化流程入参.mp4 03:37

  *   06 Rakefile 调用入口.mp4 01:50

  *   07 Makefile 简化调用入口.mp4 01:03

  *   08 搭好 fastlane 脚本工具链的架子.mp4 08:02

  *   09 输入 与 输出.mp4 04:52

  *   10 pod install.mp4 02:03

  *   11 build.mp4 13:34

  *   12 upload.mp4 08:18

  *   13 generate plist.mp4 04:44

  *   14 qr code.mp4 06:09

  *   15 wechat 消息通知.mp4 06:06

*   11 抽取 独立的 脚本工具链/

  *   01 抽出 App 工程中的脚本.mp4 03:39

  *   02 修改 Rakefile 调用入口.mp4 07:11

  *   03 修改脚本工具链.mp4 08:49

  *   04 调用脚本工具链.mp4 03:35

*   12 结课测试/

  *   01 结课测试