魔法变量对老手和新手都有一定的意义。对于老手来说,它的目的是减少使用
Set Variable
和Get Details of xxx
这两组动作的使用;对于那些对变量这个概念还不熟悉的 Workflow 新手来说,魔法变量也降低了变量
的存在感,使 Workflow 更容易上手。
在《Workflow 教程(四):如何使用 Workflow 中关于文章的那些动作》里我举了一个在 Safari 里做文摘的例子,它的最终效果是要做到:
有出处,点标题要看到原文,引用文本有层级显示,最后有摘抄日期。
魔法变量如何省略 Set Variable
这个本来就简单的入门动作,通过 1.7 新增的魔法变量,能做到在操作中不设一个变量来完成整个动作:
为什么可以做到这点?因为在 1.7 版后,当你在需要加入变量的地方,选择魔法变量,你会发现 Workflow 里的每一个可获取结果的 Action 下面都有一个可选择的按钮,选择该按钮,就会在之前选择要填入变量的地方生成变量:
魔法变量如何省略 Get Details of xxx
魔法变量的功能还不限于此。当你把魔法变量加入要填的地方之后,再次轻触该魔法变量,会给你弹出一个菜单,让你选择该变量的具体类型。Workflow 老手们肯定会意识到,这个功能直接顶了一系列 Get Details of xxx(获取 xxx 细节)
的动作。这就是为什么之前的动作可以缩得那么短的原因,一个魔法变量直接省掉了三步:Set Variable
+ Get Details of Articles
+ 另一个 Set Variable
具体操作
接下就着 Excerpt Safari 这个动作来说一下具体操作。
首先你还是要把动作的类型设为 Action Extension。然后我们接下来就直接放 Text(文本框)
!再下一步就是直接往文本框里填魔法变量了:
魔法变量添加完后,可以轻触之,再弹出菜单里选择它代表的细节。比如 Articles
这个类型,有 Body
、Title
等具体内容:
魔法变量小结
除了文首提到的两个意义以外,魔法变量还有个意义是使整个 Workflow 更加可读。不少人写 Workflow,变量胡乱设。变量名都是一个小写字母,这个你发给别人,就会导致一定的阅读障碍。本来看最后一步就能懂的 Workflow,非得从头到尾死抠每一步才能看明白。这种习惯自己用还没什么问题,但有时候有的人拿一个死长的 Workflow 问我哪做得不对,变量都是 abcd,我是一点看得心思都没有。
当然魔法变量也并不是万能的,在一些复杂的情况下,我们仍然需要 Set Variable
。比如我们下面要提到一个 Workflow 的类型是 Share Extenstion,接受类型比较多有文件有图片,这时候还是需要我们来告诉 Workflow 希望处理的是接受到的图片还是文件。
工具栏的重新设计
除了新增了魔法变量,这次另一个更新的重头戏是工具栏(Toolbar)的重新设计:
现在在工具栏,选择最左边的 Variables
按钮,会弹出一个含有本 Workflow 里已设变量以及 Workflow 常用变量的菜单。如上图所示,在已设变量的部分,也会显示当前你可以选择的魔法变量。
添加当前日期变量
在 Workflow 常用变量的部分,你会看到出现了一个新的变量——Current Date(当前日期)
,它解决插入日期难的顽疾。之前插入一个当前日期,要干什么呢?
要放一个 Date
,再接一个 Format Date
,再接 Set Variable
,要拖三个 Action,而且最后你还得在要显示日期的地方填上这个日期变量。而现在,完全不用了,按一下 Current Date
,然后在里面选日期格式即可。
如果你要选择格式,和魔法变量一样,点一下已经填写过的 Current Date
这个变量即可:
修复照片应用中视频大小显示不准的问题
市面上有不少查看图片信息的应用,有收费的有免费的。但是其实用 Workflow 就能解决大部分需求,而且对文件格式的处理也会更灵活。比如我的需求是这样:如果是文件,就告诉我格式和大小;如果是图片,告诉我格式、大小还有宽和高(当然 Workflow 可以做得更多,比如拍摄日期、拍摄地点、机型等)。于是我做了个 Workflow 实现这个功能。
这个 Workflow 一直工作得不错,但总是对 Photos.app 里的视频大小的判断出问题。现在 1.7 修复了终于修复了这个问题。
其它比较值得一提的更新与修复
- 已分享的 Workflow 支持 Universal links(点 Workflow 链接会跳转到 Workflow)
- 提升了拓展(Share Sheet 和 Today Widget 里的动作)的运行速度
- Uber 支持预估价格(本人未试验)
- 为 Gallery 搜索提供了 URL scheme :
workflow://gallery/search?query=关键字
- Get Contents of URL 现在支持 DELETE requests 了
- Choose from List 这个动作里的 Select All Initially(默认全选)选项支持图片(这个你们要试一试,很实用)
- 修复了一些被修改过的照片不被视为图片媒体的问题
- 修复了 Log Health Samples 偶尔会不导出任何结果的问题