上篇文章算是大略地介绍 Workflow 是什么的引文,这篇开始将要正式地使用 Workflow 了。第一篇文章将直接以大家最常用的 交 站为例来介绍 Workflow 的基础用法。
具体内容是:
- 把同样的文字内容一次性发送到Weibo 或/和 Twitter。
- 把同样的文字 + 图片一次性发送到Weibo 或/和 Twitter。
- 通过 Share Sheet 分享任意链接并且加上自己想说的话,然后发送到 Weibo 或/和 Twitter。
- 将以上三步合并为一个 Workflow,执行时选择其中一个然后让 Workflow 自动进行后面的工作。
将文字内容送到Weibo 或/和 Twitter
在这里用到的动作只有三个
Text
Text是最简单也比较常用的动作,最关键的是我们对它非常熟悉——「就是个输入框嘛,往里打字就可以了呗。如果你这么想就对了,这软件上手就是这么的傻瓜式——你要做的就是把想发的微博内容输入到 Text 的文本框里。
Ask for Input
上面介绍的是 Text文本框,我们看到它非常熟悉,但是它的一大缺点是会保留上一个操作留下的内容。也就是说,你每一次通过 Workflow 发微博,都需要把上一次发的内容先删了才行。所以我实际上建议在这个 Workflow 里实用Ask for Input这个动作。
Ask for Input这个动作也是 Workflow 里最常用的动作,我在上一篇文章也提到过它。
你把 Prompt里填上「微博内容」,这样每次打开这个 Workflow,直接点击运行。它就会弹出个对话框让你输入微博内容。
Tweet
- 可以看到文本(图片)内容、字数。
- 如果你是多账户的话,临时可以选择账户。
- 可以临时修改内容。
- 可取消该步骤
关闭开关
另外,记住,在 Workflow 这款软件里,凡白皆可点,每个动作框里只要有白色的区域就是可以点的,只要有菜单出现就至少能看到 Ask When Run、Clipboard、Input这三个选项,活用Ask When Run能让你做到一些你认为你做不到的事。
Share
将文字 + 图片发送到Weibo 或/和 Twitter
在这一步我们将谈到变量,你会发现它果然也很容易。
会发文字微博了,图文微博怎么办。在文字微博那个 Workflow 上再加几步就能做到。
选择照片
在动作列表里找到 Select Photots这个动作,用它来选择照片。拖到你的 Workflow 里以后你会发现有个Select Multiple的开关,打开就能多选图片,但是 iOS 本身不能上传多图到 交 站——你可以自己试试在相册里选择多图的话,Twitter 和微博这两个选项都会不见的——所以 Workflow 以及任何通过 iOS 内置的功能去分享照片的办法只能分享一张照片。所以这个开关在这个 Workflow 关上就行了。
另外,如果你经常分享最后一张照片(或者是手机截图)的话,你可以在 Workflow 的动作列表里找到 Get Latest Photos和Get Latest Screenshots这些选项,拖到 Workflow 里试试看会有什么效果~
设定变量
终于看见「变量」这俩字了,是时候克服你从初中数学开始就对这两个字产生的恐惧了。
为了节省时间,我们要使用 Workflow 把两种不同的内容(文字和图片)作为一个整体发送出去。这一点的困难就是你得告诉 Workflow 他们俩(文字和图片)是一起的。在 Workflow 里的做法,就是:把文字放到一个变量里,把图片放到一个变量里,然后把这俩变量合成一个变量,交给 Workflow。
具体的操作是,在动作列表里找到 Set Variable也就是「设定变量」这个动作,然后拖到Select Photos这一步的下面,你会发现这两个动作中间连起了一条线,这就说明 Workflow 明白了你要把你选的那张照片设为一个变量。然后你可以在Set Variable后面的空白处输入你想输入的东西,我在这里输入了「图片」,你可以输入「img」,它就像给这张图片起了个临时的名字,什么名字都可以,中文英文符 只要你明白就都可以。
所以你可以这样看 Workflow 里的变量——给前面那一步的结果起个名字。
添加变量
前面说到,我们在这里用变量的原因是要用 Workflow 把两种不同的内容(文字和图片)作为一个整体发送出去。所以要给图片起个名字(设个变量)、给文字也起个名字(也设个变量),然后把它俩放在一起成为一个组合,再给组合起个名字(设个新变量)。
在 Workflow 里,这个步骤要分开来做。也就是说,图片起了名字以后,直接就可以成立组合,等一会儿给文字起名字以后把他加到这个组合里就行了。这在 Workflow 里的具体做法是:
在动作列表里找到 Add to Variable也就是「添加到变量」这个动作,拖到你的 Workflow 里,Set Variable这一步下面,那条连接的线就又会出现,你应该已经懂得它代表什么了。同样,这个组合的名字你可以随便给,我给的是「图文」。
对文字的处理
我们现在已经把文字和组合的变量设妥了,现在要处理文字了。我们要给文字设个变量,再把文字这个变量加入到组合的变量里。具体做法是:
把 Set Variable拖到Ask for Input下面,给它起个名字;再把Add to Variable拖到Set Variable下面,注意,这里现在要填的是组合的名字,你不能再胡给名字了。
删除照片
Workflow 可以在处理完照片以后删除这张我们再也不会用的照片,在这个 Workflow 里,只要你把 Delete Photos这一步放到Share这一步的下面就可以了:
Workflow 里有修改图片的功能叫做 Edit Photo,这个在分享照片的时候很实用,一般你给人看图片就会有希望让他看的那个「点」,通过Edit Photo你就可以把你想让对方看的地方标记出来。那么你能不能在这个环节介绍的 Workflow 里加上Edit Photo这个动作,让你的 Workflow 更实用?
有时候人们分享图片是只想分享图片,不加字儿,但是新浪微博要求必须加字才能发微博。所以它官方客户端在只分享图片的时候的做法是自动添四个字「分享图片」。通过 Workflow 能不能做到?
通过 Share Sheet 分享任意链接发送到Weibo 或/和 Twitter
有时候你看到了一篇 站或者在你的 RSS/Read Later 客户端里读到了一篇你想分享的文章,你在 App Store 看到了一个好的 App 或者游戏,你想把它同时 Twitter 和微博,通过 Workflow 也可以轻松做到。
Workflow Type
在这个环节我们要接触 Workflow Type,它只有两种,所以没什么难的。
查看 Workflow Type 的方法是在每个具体的 Workflow 的右上角寻找齿轮图标,里面是一个菜单,其中有一项是让我们选择 Workflow Type:
Normal类型的 Workflow 不会出现在 iOS 的分享菜单里面,只能通过 Workflow 这个程序本身运行。前面的内容都是在 Narmal 这个类型里完成的。Action Extension类型的则可在 Workflow 程序内运行也可在分享菜单中运行(Workflow 的相应位置有图解)。我们在这里要用到它,比较强力的 Workflow 一般都要用到它。我们选择 Action Extension能看到Accepts这个选项,打开后里面有一个列表,这个列表里显示的是 Workflow 分享菜单里接受的数据类型。
我们在这里是要分享链接到微博和 Twitter,所以可以把其它的都删掉只要留下 URLs 就可以。
这其实已经是「分享链接到微博和 Twitter」这个 Workflow 的第一步——获取链接,下一步我们要做的,就是要给链接设一个变量——我在这里设置的是「链接」——好把这个链接和我们一会想发的微博放在一起。
然后下一步,我们要开始输入微博正文了,我们还是和以前一样要用到 Ask for Input,然后给它的结果也设置一个变量,我在这里设置的是「正文」。
最后通过 Text 框把两个变量放到一起。这一步有点小技巧:当你点进 Text 框,你会发现弹出的键盘上有 Ask When Run、Variable...、Clipboard这三个按钮,选择Variable...,你就可以看出一个弹出的菜单,里面有你在前面设置好的所有变量。比如说我前面设定了选择其中的变量,就会在 Text 框里出现一个套着蓝色框的变量——这就是 Workflow 的自定义变量的表现方式:
到了这一步的逻辑是,你给链接设了个变量(link),然后输入微博,给这个微博内容也设个变量(正文),最后在 Text 框里面给这两个变量排一下顺序,决定让微博内容在先还是链接在先,最后将 Text 框里的整体作为微博发送出来。所以最后不要忘记加上 Tweet跟Share这两个动作。
既然是分享链接(一般是文章)到 交 站,比较方便的办法其实是直接引用文中一段话作为对这个链接的介绍。所以你可以想想,能不能这个环节介绍的 Workflow 稍作改动,做一个「Clipboard+link的 Workflow」?
如果你不只想分享链接,还想分享 Safari 里看到的文章的标题,要怎么做?试试看 Get Name这个动作。
将以上三步合并为一个 Workflow
我们用效率软件是因为我们「懒」,所以既然懒了,就要有懒到底的精神。
现在你已经分别掌握了发送文字内容/图文内容/链接内容到微博和 Twitter 的方法。如果你三种使用情境都有的话,这就意味着你要做3个 Workflow 了。做三个 Workflow 没什么不好,唯一的缺点是「不够懒」。既然都是把东西发送到微博和 Twitter,我们能不能把它们做到同一个 Workflow?让我们做到在分享内容的时候只用这一个 Workflow,然后弹出一个菜单里面有「文字微博」、「图文微博」、「分享链接」,然后我们需要哪种分享方式就选哪种分享凡事,剩下的交给 Workflow 来处理。
答案自然是可以。在这里我们要介绍 Workflow 这款软件里复杂动作的核心内容——List、If和Choose from Menu。
List——列表
我们要做的是要弹出一个菜单,里面有「文字微博」、「图文微博」、「分享链接」给我们选,所以这第一步,可以是一个列表。从 Workflow 里找到 List拖到你的 Workflow 里,在里面分别写上「文字微博」、「图文微博」、「分享链接」,行不够了可以按添加按钮来添加行。
然后我们要从这个列表里选一样,所以要用到 Choose from List这个动作。同样,找到它然后拖到你的 Workflow 里。因为我们选的是其中「一项」,所以可以把「Select Multiple」这个开关关闭。
然后下一步,就是选完其中一项以后,让 Workflow 知道你选的是什么,然后执行之后的操作。那么其实这里面的逻辑是:
If——条件
这个「如果……那么……」在 Workflow 里就是 「If 语句」,上述的逻辑在 Workflow 里的操作是:
把 If拖进 Workflow,你会发现它和其它动作不太一样。If 会带下来otherwise和End If两个配套的动作。
我们在 If框里的「String Contains」后面,输入「文字微博」。然后在这一步的下面,把发文字微博的 Workflow 的动作——Ask for Input、Tweet、Share依次排好:
图片中 If下面的内容,都会有一个缩进,它的意思就是这些缩进了的内容都是在If框里设定的条件达到后才会运行的。这整个一步完整的意思是:如果我们在List——列表里选择的内容里有「文字微博」,我们就执行文字微博的 Workflow。
做好文字微博这部分了,我们反回头看 Otherwise跟End If。
如果你的 Workflow 只匹配一个条件,匹配到了就执行该条件下的内容,匹配不到就拉倒的话。你就不需要管这个 Otherwise跟End If。比如说,你想吃苹果,不想吃任何其他水果,然后你去菜市场买苹果。这个情境用 If 来表示就是:
If有苹果,买——Otherwise没苹果,不买东西——End If。
在发微博这个情境里,我们有三种情况。第一个 If我们匹配了「文字微博」,第二个If要加到哪?加到Otherwise下面:
这就成立了一个新的关系:If——如果匹配到「文字微博」,就执行文字微博的 Workflow;Otherwise If——或者匹配到「图片微博」,就执行图片微博的 Workflow……所以相信剩下内容已经不用再说了,包括最后一个「分享链接」的 Workflow 你也应该知道该怎么办了。
Choose from Menu——从菜单中选择
通过 List和If,你已经做到了把 3 个同类 Workflow 合并到一起,它们两个的合作还会有更多强大的功能。但是,在我们这个「分享微博」的 Workflow 里,它们不是最合适的。因为If只是匹配我们在List列表里选出的结果的内容的字符,不是我们想要的「选了菜单的某一项就自动进行这一项下的内容」,两者有本质上的不同。
最合适这个 Workflow 的功能是 Choose from Menu:
把动作拖到你的 Workflow 里,在菜单填上「文字微博」、「图文微博」、「分享链接」,然后相关部分的名字自然也会发生改变,然后你可以在「文字微博」这一项目下做你的文字微博的 Workflow ,在「图文微博」的条目下做图文微博的 Workflow……
Choose form Menu在这个分享微博这个需求下明显直观许多,也比If要精确。但也正因如此,它没有If的应用面广。在 Workflow 里,做出来一个能运行的 Workflow 是第一步,找到最适合它的动作把它优化到最简单最直观是终极目的。
为什么用这种办法发微博?
方便
如果通过 Workflow 做某件事不如用以前的方法简便,就不要用 Workflow。
在「同时发送微博和 Twitter 」这个情境下,使用 Workflow,你就不需要分别打开两款软件的微博客户端,不需要等待客户端的读取,不需要看某些客户端的启动广告,然后不需要去点击编写按钮,甚至不需要去点击发送按钮;在分享链接的情况下,你不需要去点 Safari 的地址栏去全选链接,然后再复制链接,然后再分别打开两个客户端,重复前面提到的动作……高下立判。
减少干扰
微博客户端不只是个分享内容的地方,还是个浏览内容的地方。所以它的问题在于,你虽然最初是只想「发一条微博」,但开了微博客户端以后,你就不只是发微博了,你的 Timeline 吸引着你,瞥了一眼搞笑图片结果「哈哈哈哈哈」个不停,一不小心一个小时就没了,说不定最初你想发的那条微博都没发出来。
减少对别人的干扰
其实如果只是图方便,用 IFTTT 也可以做到,而且好像比 Workflow 还简单些。但是 IFTTT 是无条件地将一个服务的所有内容全部转到另一个服务,这点很蠢,更重要的是这样很骚扰人。如果你的微博昵称跟 Twitter 的用户名一样,当那些用 IFTTT 的人用微博和 Twitter 中的一个服务 at 你,另一个服务就也会 at 你。此外,你在微博转发一条内容 IFTTT 会把你说的话同步到 Twitter 但不会把你转发的原微博同步到 Twitter,所以如果你 Fo 了一些用 IFTTT 的人,你会看到他们总是在说一些摸不着头脑没有上下文的话。
与 Launch Center Pro 比较的优势
使用 Launch Center Pro 时间久的朋友应该都知道通过 Launch Center Pro 也是可以做到分享文字+图片或纯文字内容到 Weibo 和 Twitter 的。@饺子如何是好就曾做过一个 Launch Center Pro 的动作来完成这两个功能。
你可以点开 站看一下那个 URL Schemes 。它和 Workflow 到底谁简单我们另论,且说功能本身,与 Launch Center Pro 相比,Workflow 在这个动作上就有至少两个优势:
第二:Workflow 支持分享插件,这一点是非常聪明的,它让 Workflow 直接渗透到了 iOS 的各个角落。
复习
读完这篇文章,你应该熟悉的关于 Workflow 的内容有:
Text文本框Ask for Input功能(以及它和文本框的区别)Tweet功能(Show Compose Sheet 开或关有何不同?)Ask When Run的作用以及何时使用Set Variable设定变量Add to Variable添加到变量Workflow Type&Action Extension
List列表If条件Choose From Menu从菜单中选择关联阅读
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!