从 Text 到剪贴板、照片与相册。先看图学会搭,再认识底层代码。
每块积木做什么,数据怎样接力。
把三行文字变成三个列表项目。
读到已有内容,把新内容放进去。
从文件选一张图,再存入练习册。
先分清“移除归属”和“删除原图”。
理解 plist、签名和 phoneId 的位置。
以 Apple iOS 26 中文手册为主要依据。所有动作卡片、手机和相册画面均为教学示意,不是当前手机实拍。动作名称可能随系统语言与版本略有不同。
快捷指令会按顺序执行动作。有的动作提供内容,有的处理内容,有的把结果送出去。
你好,王童
数据不一定只能来自紧挨着的上一块。你可以在后面的动作里,明确选取更早某一步的输出。
“拆分文本 / Split Text”是动作。“按换行 / New Lines”是它的参数。
banana
手机 Text 框中直接按回车换行。代码中的
是描述换行的一种写法;不是让你在手机框里输入反斜杠和 n。
变量让动作之间传递内容。标签“文本”代表那一步产生的内容,不是单纯写着“文本”两个字。
| 你会看到的东西 | 用零基础语言理解 |
|---|---|
| 魔法变量 | 直接取某个动作的结果,通常不用额外命名。 |
| 设定变量 | 给内容起名字,例如 PhoneId,方便后面取用。 |
| 特殊变量 | 例如“快捷指令输入”“剪贴板”“当前日期”。 |
| Text 里的固定文字 | 随捷径保存,下一次还在;运行变量不会自动改写它。 |
demo-phone-001
后面引用这一步的输出。
phoneId → demo-phone-001 serverURL → https://example.com
通过“获取词典值”取某个字段。
先在备忘录里拷贝一句话,再让捷径取出这句话。读取不会把剪贴板清空。
显示“你好,王童”。
这一步读的是手机剪贴板。它本身没有“穿过 iMouse 读取电脑剪贴板”的意思;电脑到手机仍需要另一个数据传递通道。
把 Text 里的文字放进剪贴板,再去备忘录手动粘贴。
粘贴出“这段文字来自快捷指令”。
旧内容演示区不会调用系统剪贴板。
先用手机“文件”App 里的一张测试图片练习。目标相册先在“照片”App 中手动建好。
HTML 旁附有 练习卡片 PNG,可保存到手机“文件”中使用。
“存储到相簿”是导入路径;反复运行可能新增照片。给图库中已有照片增加相册归属,是另一个问题,不要把它们混成同一个效果。
以下只讨论普通自建相册。共享相册、共享图库等有自己的规则,不套用这张图。
照片还在图库,也可以还在别的相册;只是“捷径练习册”不再列出它。
图库里的照片被删除,同一照片在其它相册里的展示也受影响。
依据:既有 iOS 26.0.1 隔离模拟器对原生 removefromalbum 动作的测试记录,原件保留、其它册保留;不把该记录冒充当前手机本轮实测。删除与 iCloud 的后果另见 Apple 文档。
先只用练习图片。查找时一定选定这个相册;后面的动作要明确引用“查找照片”的结果。
搜索“移除”“相簿”查找动作。具体显示名可能不同;若系统没有提供此动作,不要用“删除照片”冒充它。
关闭预览后会继续执行后续动作;快速查看用于看清对象,不等于取消或审批。练习时先只搭前两步,核对目标后再加入最后一步。
A:练习册为空,但图库仍能找到原图。
B:练习册中的原图被删除,检查“最近删除”。
查找结果本来就能是一组照片,这两个动作可接收整组内容;不必为了每张照片再搭一次同样流程。
“如果”决定走哪条路;“重复每一项”把同一组动作应用到列表里的每个项目。
获取剪贴板
如果 [剪贴板] 有任何值
显示结果:[剪贴板]
否则
显示结果:请先拷贝内容
结束如果这是动作顺序的文字示意,按每一行搜索并加入对应动作。
Text:三行水果名
拆分文本:按换行
重复每一项 [拆分结果]
文本:今天买 [重复项目]
结束重复
合并文本:按换行
显示结果重复项目就是这一轮正在处理的东西;第一轮 apple,第二轮 banana。
今天买 apple
今天买 banana
今天买 orange
“如果”两条分支也有输出:选中分支中最后一个产生输出的动作,会影响后面的“如果的结果”。
URL 是“地址”;获取 URL 内容是“去请求”;词典用于拿到返回结果中的某个字段。
{
"message": "你好,王童",
"count": 3
}你好,王童
example.com 是教学占位地址,没有为此课搭建真实 task 接口。返回为文本 JSON 时,可先用“从输入中获取词典”;不要按网页视觉内容来猜接口返回类型。
| 填写方式 | 发生在什么时候 | 会自动保存配置吗 |
|---|---|---|
| 编辑 Text | 在编辑器里修改 | 保存到捷径内部 |
| 导入问题 | 接收者定制共享捷径 | 答案填入所关联的配置字段 |
| 请求输入 | 每次执行到该动作 | 不会自动改写 Text |
| 快捷指令输入 | 本次启动由调用方传入 | 属于本次运行的数据 |
POST 等方法还可发送 JSON、表单或文件。给 URL 增加参数能否生效,由接收端接口决定,不能靠参数名自动改变任意捷径。
下面把“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"
}
}
]
}
WFWorkflowActions:按执行顺序排列的动作。…Identifier:动作的内部名称。…Parameters:这块动作的设置。
Text 的 UUID 与拆分动作的 OutputUUID 一致,表示拆分动作取这一步的输出。这个 UUID 是动作标记,不是手机 phoneId。
字段形态依据已有生成器与原厂旧版下载工作流核对,属于样本格式,不作为 Apple 承诺稳定的公开编程接口。此处只展示核心动作,省略完整文件元数据与签名,也未作为新捷径进行手机导入验证。
可视化编辑器呈现卡片;工作流内部保存结构化数据;分发时还可能有签名封装。
plist 是 Apple 常用的数据存储格式,可用 XML 或二进制表示。JSON 在本课只是方便人阅读的展示方式;把 JSON 改成 .shortcut 后缀,不代表就能安装。
已取得的原厂旧版样本:未签名工作流以 bplist00 开头;签名分发文件以 AEA1 开头。因此不能假定每个下载的 .shortcut 都可以直接当普通 plist 读取。
shortcuts sign --mode anyone \ --input unsigned.shortcut \ --output signed.shortcut
这里只讲流程,未执行签名。Apple 会收到副本进行验证;命令可用不等于文件已通过手机安装或功能验收。
同一个模板可以留出 Text 配置,接收者定制时填写 phoneId。这与服务器为每台手机改写工作流后再签名,是不同的生成流程。
导入问题可填配置;Manager 替换更新能否保留答案,需要对实际安装路径验证,不能由语法推断。
用界面名字寻找动作;只有写生成器或分析导出文件时,才需要内部标识符。
| 用途 | 界面关键词 | 样本里的内部动作标识符 |
|---|---|---|
| 提供文字 | 文本 | 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 模拟器记录、下载的原厂旧版样本交叉核对。
本课未读取你的系统剪贴板、未访问或删除你的手机照片,也未向手机安装或运行这些教学捷径。示意流程的预期结果与真实设备已验结果分别对待;首次执行可能需要按动作授权。