SHORTCUTS · 从零开始学习地图

用“积木”搭出
你的第一条快捷指令

从 Text 到剪贴板、照片与相册。先看图学会搭,再认识底层代码。

T准备内容文字、图片、列表
→
↔处理内容拆分、判断、循环
→
✓做出结果剪贴板、相册、网络
01读懂动作和变量

每块积木做什么,数据怎样接力。

02Text 按行拆分

把三行文字变成三个列表项目。

03读 / 写剪贴板

读到已有内容,把新内容放进去。

04导入图片到相册

从文件选一张图,再存入练习册。

05清空指定相册

先分清“移除归属”和“删除原图”。

06看懂代码与配置

理解 plist、签名和 phoneId 的位置。

以 Apple iOS 26 中文手册为主要依据。所有动作卡片、手机和相册画面均为教学示意,不是当前手机实拍。动作名称可能随系统语言与版本略有不同。

SHORTCUTS · 从零开始01 / 动作入门

一块卡片,就是一步操作

快捷指令会按顺序执行动作。有的动作提供内容,有的处理内容,有的把结果送出去。

我的第一个捷径 完成
T
文本
你好,王童
↓
◉
显示结果
文本
▶ 运行
先认识 4 个位置
  1. 在下方搜索操作,输入“文本”。
  2. 加入动作,在文本框填写内容。
  3. 再搜索并加入显示结果,输入选择前面 Text 的输出。
  4. 轻点运行按钮,应该看到“你好,王童”。
预期结果

你好,王童

数据不一定只能来自紧挨着的上一块。你可以在后面的动作里,明确选取更早某一步的输出。

依据:S1 · S16
SHORTCUTS · 从零开始02 / Text 与拆分

把三行 Text,拆成一个列表

“拆分文本 / Split Text”是动作。“按换行 / New Lines”是它的参数。

T
文本
apple
banana
orange
↓
⋮
拆分文本
将 文本 按 换行 拆分
↓
②
从列表中获取项目
获取第 2 项
↓
◉
显示结果
列表中的项目
拆分后得到的列表
1 apple
2 banana
3 orange
最后显示

banana

手机 Text 框中直接按回车换行。代码中的 是描述换行的一种写法;不是让你在手机框里输入反斜杠和 n。

在网页里试一次:按换行拆分
这是普通网页演示,不是 iOS 引擎;可试着增加一行。
依据:S3
SHORTCUTS · 从零开始03 / 变量与配置

蓝色小标签,指向某一步的结果

变量让动作之间传递内容。标签“文本”代表那一步产生的内容,不是单纯写着“文本”两个字。

T
文本
demo-phone-001
同一份输出,可以供后面多处使用
T
文本
手机:文本
↗
URL
…?phoneId=文本
你会看到的东西用零基础语言理解
魔法变量直接取某个动作的结果,通常不用额外命名。
设定变量给内容起名字,例如 PhoneId,方便后面取用。
特殊变量例如“快捷指令输入”“剪贴板”“当前日期”。
Text 里的固定文字随捷径保存,下一次还在;运行变量不会自动改写它。
一个配置:Text 就够
demo-phone-001

后面引用这一步的输出。

多个配置:词典更集中
phoneId   → demo-phone-001
serverURL → https://example.com

通过“获取词典值”取某个字段。

依据:S1 · S2 · S4
SHORTCUTS · 从零开始04 / 例子一

读取手机剪贴板

先在备忘录里拷贝一句话,再让捷径取出这句话。读取不会把剪贴板清空。

手机剪贴板你好,王童获取剪贴板取出来,原内容仍在显示结果 / 后续处理你好,王童备忘录里拷贝的内容 → 一个动作 → 读到这段文字
↙
获取剪贴板
取出手机当前拷贝的内容
↓
◉
显示结果
剪贴板
  1. 在手机备忘录里写:你好,王童。
  2. 长按选中这句话,点拷贝 / 复制。
  3. 新建捷径,搜索“剪贴板”,加入获取剪贴板。
  4. 加入“显示结果”,输入明确选剪贴板输出,再运行。
预期结果

显示“你好,王童”。

这一步读的是手机剪贴板。它本身没有“穿过 iMouse 读取电脑剪贴板”的意思;电脑到手机仍需要另一个数据传递通道。

依据:S2 · S10 · S13
SHORTCUTS · 从零开始05 / 例子二

写入手机剪贴板

把 Text 里的文字放进剪贴板,再去备忘录手动粘贴。

文字来源你好,王童拷贝至剪贴板写进去,替换旧内容手机剪贴板你好,王童Text 动作中的文字 → 一个动作 → 可供手动粘贴
T
文本
这段文字来自快捷指令
↓
↗
拷贝至剪贴板
拷贝 文本
  1. 新建捷径,加入文本,填写示例句。
  2. 搜索“剪贴板”,加入拷贝至剪贴板。
  3. 把它的内容设为前一个 Text 的输出,运行。
  4. 打开备忘录,点进一个空白文本位置,再长按粘贴。
预期结果

粘贴出“这段文字来自快捷指令”。

模拟剪贴板:点一下看方向
旧内容

演示区不会调用系统剪贴板。

依据:S10
SHORTCUTS · 从零开始06 / 例子三

把一张图片,导入指定相册

先用手机“文件”App 里的一张测试图片练习。目标相册先在“照片”App 中手动建好。

文件 AppPNG存储到相簿接收图片内容捷径练习册照片“文件”里的图片,经过动作,进入“照片”图库及目标相册
▧
选择文件
选择一张 PNG / JPG 测试图
↓
▣
存储到相簿
将 文件 存入 捷径练习册

HTML 旁附有 练习卡片 PNG,可保存到手机“文件”中使用。

  1. 在“照片”中新建普通相册:捷径练习册。
  2. 捷径加入“选择文件”,运行时选一张实际图片。
  3. 加入“存储到相簿”,输入选那张图片文件,目标设为练习册。
  4. 运行后打开“照片”里的练习册,检查图片是否出现。

“存储到相簿”是导入路径;反复运行可能新增照片。给图库中已有照片增加相册归属,是另一个问题,不要把它们混成同一个效果。

依据:S11 · S13 · S14
SHORTCUTS · 从零开始07 / 清空前先分清

相册像“分类清单”,图库才是家

以下只讨论普通自建相册。共享相册、共享图库等有自己的规则,不套用这张图。

图库:照片的家捷径练习册旅行相册原图 AAA同一张原图,可以同时出现在多个普通相册里
A · 只清空这个相册

移除相册归属

照片还在图库,也可以还在别的相册;只是“捷径练习册”不再列出它。

B · 删除里面的照片

删除照片原件

图库里的照片被删除,同一照片在其它相册里的展示也受影响。

A 执行后
图库:照片的家捷径练习册旅行相册原图 A空相册A原图仍在,只移除练习册里的归属

依据:既有 iOS 26.0.1 隔离模拟器对原生 removefromalbum 动作的测试记录,原件保留、其它册保留;不把该记录冒充当前手机本轮实测。删除与 iCloud 的后果另见 Apple 文档。

依据:S12
SHORTCUTS · 从零开始08 / 例子四

清空“捷径练习册”

先只用练习图片。查找时一定选定这个相册;后面的动作要明确引用“查找照片”的结果。

A · 照片留在图库
⌕
查找照片
筛选:相簿是“捷径练习册”
关闭“限制数量”
↓
◉
快速查看
查找照片 的结果
↓
−
从相簿中移除
把 查找照片 从“捷径练习册”移除

搜索“移除”“相簿”查找动作。具体显示名可能不同;若系统没有提供此动作,不要用“删除照片”冒充它。

B · 删除这些原图
⌕
查找照片
筛选:相簿是“捷径练习册”
关闭“限制数量”
↓
◉
快速查看
核对 查找照片 的结果
↓
×
删除照片
删除 查找照片

关闭预览后会继续执行后续动作;快速查看用于看清对象,不等于取消或审批。练习时先只搭前两步,核对目标后再加入最后一步。

怎样验结果

A:练习册为空,但图库仍能找到原图。
B:练习册中的原图被删除,检查“最近删除”。

查找结果本来就能是一组照片,这两个动作可接收整组内容;不必为了每张照片再搭一次同样流程。

依据:S12 · S13
SHORTCUTS · 从零开始09 / 判断与循环

有条件地做,逐项地做

“如果”决定走哪条路;“重复每一项”把同一组动作应用到列表里的每个项目。

判断 / If
获取剪贴板
如果 [剪贴板] 有任何值
    显示结果:[剪贴板]
否则
    显示结果:请先拷贝内容
结束如果
有内容 → 显示内容没内容 → 给出提示

这是动作顺序的文字示意,按每一行搜索并加入对应动作。

循环 / Repeat with Each
Text:三行水果名
拆分文本:按换行
重复每一项 [拆分结果]
    文本:今天买 [重复项目]
结束重复
合并文本:按换行
显示结果

重复项目就是这一轮正在处理的东西;第一轮 apple,第二轮 banana。

右边例子的预期结果

今天买 apple
今天买 banana
今天买 orange

“如果”两条分支也有输出:选中分支中最后一个产生输出的动作,会影响后面的“如果的结果”。

依据:S5 · S6
SHORTCUTS · 从零开始10 / 网络与配置

让捷径向服务端取一份任务

URL 是“地址”;获取 URL 内容是“去请求”;词典用于拿到返回结果中的某个字段。

手机捷径
HTTPS 请求 →
服务端
← JSON 结果
手机继续执行
T
文本
demo-phone-001
↓
↗
URL
https://example.com/task?phoneId=文本
↓
↓
获取 URL 内容
方法:GET
↓
{ }
获取词典值
从返回词典中取 message
假设接口返回:
{
  "message": "你好,王童",
  "count": 3
}
message 的值

你好,王童

example.com 是教学占位地址,没有为此课搭建真实 task 接口。返回为文本 JSON 时,可先用“从输入中获取词典”;不要按网页视觉内容来猜接口返回类型。

填写方式发生在什么时候会自动保存配置吗
编辑 Text在编辑器里修改保存到捷径内部
导入问题接收者定制共享捷径答案填入所关联的配置字段
请求输入每次执行到该动作不会自动改写 Text
快捷指令输入本次启动由调用方传入属于本次运行的数据

POST 等方法还可发送 JSON、表单或文件。给 URL 增加参数能否生效,由接收端接口决定,不能靠参数名自动改变任意捷径。

依据:S7 · S8 · S9 · S14
SHORTCUTS · 从零开始11 / 选读:底层代码

卡片的背后,是一份结构化记录

下面把“Text → 按换行拆分”的核心动作转成 JSON 展示。你不用先学会这段代码,才能在手机里搭出它。

{
  "WFWorkflowActions": [
    {
      "WFWorkflowActionIdentifier": "is.workflow.actions.gettext",
      "WFWorkflowActionParameters": {
        "UUID": "11111111-1111-4111-8111-111111111111",
        "WFTextActionText": "apple\nbanana\norange"
      }
    },
    {
      "WFWorkflowActionIdentifier": "is.workflow.actions.text.split",
      "WFWorkflowActionParameters": {
        "text": {
          "WFSerializationType": "WFTextTokenAttachment",
          "Value": {
            "Type": "ActionOutput",
            "OutputUUID": "11111111-1111-4111-8111-111111111111",
            "OutputName": "Text"
          }
        },
        "WFTextSeparator": "New Lines"
      }
    }
  ]
}
先只认这 3 个字段

WFWorkflowActions:按执行顺序排列的动作。
…Identifier:动作的内部名称。
…Parameters:这块动作的设置。

再认一条“连线”

Text 的 UUID 与拆分动作的 OutputUUID 一致,表示拆分动作取这一步的输出。这个 UUID 是动作标记,不是手机 phoneId。

字段形态依据已有生成器与原厂旧版下载工作流核对,属于样本格式,不作为 Apple 承诺稳定的公开编程接口。此处只展示核心动作,省略完整文件元数据与签名,也未作为新捷径进行手机导入验证。

SHORTCUTS · 从零开始12 / 文件、签名与排查

会看卡片,就能理解生成流程

可视化编辑器呈现卡片;工作流内部保存结构化数据;分发时还可能有签名封装。

动作与参数
→
工作流 plist
→
签名分发文件

plist 是 Apple 常用的数据存储格式,可用 XML 或二进制表示。JSON 在本课只是方便人阅读的展示方式;把 JSON 改成 .shortcut 后缀,不代表就能安装。

已取得的原厂旧版样本:未签名工作流以 bplist00 开头;签名分发文件以 AEA1 开头。因此不能假定每个下载的 .shortcut 都可以直接当普通 plist 读取。

Mac 的签名命令示意
shortcuts sign --mode anyone \
  --input unsigned.shortcut \
  --output signed.shortcut

这里只讲流程,未执行签名。Apple 会收到副本进行验证;命令可用不等于文件已通过手机安装或功能验收。

和 phoneId 的关系

同一个模板可以留出 Text 配置,接收者定制时填写 phoneId。这与服务器为每台手机改写工作流后再签名,是不同的生成流程。

导入问题可填配置;Manager 替换更新能否保留答案,需要对实际安装路径验证,不能由语法推断。

不对劲时,看这 4 件事
  1. 输入来源选对了吗?
  2. 拿到的是文字、列表,还是图片?
  3. “查找照片”的相册和范围选对了吗?
  4. 先临时加“快速查看”,看当前输出。
依据:S2 · S8 · S15 · S16
SHORTCUTS · 从零开始13 / 查阅与动作速查

需要时,再查这一页

用界面名字寻找动作;只有写生成器或分析导出文件时,才需要内部标识符。

用途界面关键词样本里的内部动作标识符
提供文字文本is.workflow.actions.gettext
按行拆分拆分文本is.workflow.actions.text.split
读剪贴板获取剪贴板is.workflow.actions.getclipboard
写剪贴板拷贝至剪贴板is.workflow.actions.setclipboard
导入图片存储到相簿is.workflow.actions.savetocameraroll
查找照片查找照片is.workflow.actions.filter.photos
移除相册归属从相簿中移除is.workflow.actions.removefromalbum
删除照片删除照片is.workflow.actions.deletephotos
官方阅读入口 · 点击即可打开

调研时间:2026-10-25。上面链接为 Apple 手册及支持文章;多数 iOS 手册当时显示 iOS 26。网络 API 方法和命令行签名分别参考 Apple 的 Mac 手册。底层字段与相册移除动作另按已有生成器、既有 iOS 26.0.1 模拟器记录、下载的原厂旧版样本交叉核对。

本课未读取你的系统剪贴板、未访问或删除你的手机照片,也未向手机安装或运行这些教学捷径。示意流程的预期结果与真实设备已验结果分别对待;首次执行可能需要按动作授权。