F
Published on
· Last modified on
· Public

iOS设备利用URL Schemes提高效率心得

URL Schemes真是iOS上一个伟大的创举,很多workflow都是依赖它创造出来的。本文就来讲讲我日常使用URL Schemes提高效率的心得。

  想必长时间使用iOS的同学们一定很羡慕Android上的分享功能吧,比如随意截取网页上一段文字,再点击分享,选择你想分享进的app名称,比如evernote,这段文字就自动保存进去了。很多人诟病iOS上因系统的限制缺少应用间通信功能,比如上述功能在iOS上就实现不了。其实,iOS远比你所想象的强大。只要你拥有一台已越狱的iOS设备,并且经过一次配置后,以后就可以实现远比Android系统更为强大的自动化流程。详细配置请往下看:

无需越狱,使用Launch Center Pro

  Launch Center Pro是一款iOS上无比强大的自动化app,玩法众多。但在本文中它只起一个抛砖引玉的作用,毕竟没有越狱的话,很多功能是完全无法实现的。如果你没有越狱iOS设备的习惯,就好好利用LCP这个app吧。毕竟它能实现拍照后自动分享到微博,twitter,instagram等功能(当然不是每张照片都分享)。但是与后文的强大的自动化流程相比,只能说这些流程还是太小儿科了。下面的才是重头戏。

越狱后使用Action Menu实现自动化流程

  首先介绍下以下流程需要的插件:

  1. Action Menu 老牌插件,iOS必备插件之一。扩展系统的Action Menu(就是长按文字后会出现复制粘贴等选项的那个)。

  2. Action Menu Plus Pack 继续扩展更多的功能,可以理解为作者为了多卖钱提供的一个功能扩展包。(话说cydia上用paypal购买插件特别容易,大家还是多多支持正版吧。)

  3. ActivityAction for ActionMenu 可以自定义Action Menu调用的url,我会在后面具体讲,几乎每个workflow都离不开它。

  4. 老牌插件Activator, 相信每一个用过iOS的人都熟悉了。

  5. 神级app Drafts. 关于Drafts的介绍请看越狱指南的这篇博文:10个让你爱上Drafts的理由。相信每个看完的人都会成为一个像我一样的Drafts重度使用者的。

  铺垫到此为止,重头戏终于要来了!下面我以我使用的几个Workflow来展示一下如何将上述插件和app联合在一起实现多剑合璧。

  1. 首先,安装完ActivityAction for ActionMenu插件后,会如下图在Action Menu最后面出现Activity. 点击之,就会如第二张图所示。当然这是我配置好后的结果,按图中的先后顺序分别可以实现选定网页内容直接调用欧路词典查单词;在Appstore搜索app;调用谷歌直接在safari中搜索,保存至evernote的book笔记本中(没错,强于安卓的地方就是你可以自定义保存到哪个笔记本中,并且可以自动按你所设置的规则自动生成标题名);一键发微博;保存到evernote的UsefulStuff笔记本中;直接调用豆瓣搜索电影。(老规矩,点击看大图)

  进入设置,找到Action Menu的设置项,点进去,看到ActivityAction选项,点进去,可以看到作者贴心的为我们提供了一些默认的workflow,比如欧路词典,谷歌搜索等。在此不再赘述。点击Add Activity,如下图所示,出现自定义界面。这里就可以发挥你的想象力利用url和javascript实现各种workflow.这里我抛砖引玉,先给出我自己使用的workflow的一些具体配置方法。

2.具体配置:

  先具体讲解一下上图中每一行设置的意思:第一行是选择icon图标的,第二行是填写URL Schemes或者JavaScript代码的。第三行是你想要显示的名字。第四行就不用说了。

注意:@WORD表示你选中的文字。如果不写,会自动在URL的最后添加。

选中文字自动保存到evernote某个笔记本中的功能

  首先配置Drafts,上文中越狱指南的博文已经将Drafts的用法说得非常详细,这里我们只需添加一个自定义的Evernote Action,如下图所示,设置好Name(以后会用到),Title,你想存入的笔记本的名字和Tags,保存即可。这样我们完成了Drafts的配置。

  然后回到ActivityAction的设置界面,在URL项中填入:

drafts://x-callback-url/create?action=readingabstract&afterSuccess=Delete&text=

  大致讲解一下含义:drafts:// 让 iOS 打开Drafts. x-callback-url/ 让Drafts内置x-callback参数. &action=readingabstract 执行刚刚在Drafts中设置好的Evernote自定义workflow,这里的readingabstract就是你刚刚自定义的动作的Name,上文中说了这个以后会用到。 &x-success=Delete 让Drafts在执行完后删除保存在Drafts中的文本(我们只是利用了Drafts作为连接Action Menu和Evernote的跳板,因此当文字保存在Evernote中后在Drafts里的同样的文字显然没有留着的必要)。 &text= 这里在等号后面自动添加你所选定的文字内容。或者你也可以写为

drafts://x-callback-url/create?&text=@WORD&action=readingabstract&afterSuccess=Delete

  可以达到同样的效果。

  虽然我们利用了Drafts做了跳板,但是保存到evernote后系统会自动跳回Drafts应用。这显然与自动化相悖,我们的最终目标是比如在safari中选定一段文字后,系统再自动跳回到safari. 此时就需要另一款Activator插件:Lastapp. 设置一个当启动Drafts后自动跳转回上一个应用的规则。这样,一切就完美了。下次上网时看到有意思的文字,就可以利用这个workflow保存到Evernote中,一切自动完成,最后回归你之前正在使用的应用。

选中文字发微博

  如果你想把回帖的内容发一条微博,之前的你会怎么做?选定文字,复制,打开微博app,点新建微博,粘贴,发送。很麻烦是不是?现在,利用Launch Center Pro,你只需选定文字,点击Activity,再点击微博即可。是不是很方便?

  首先你要在系统层面绑定你的微博账号,再在LCP中新建一个发送到微博的动作。然后回到ActivityAction的设置界面,新建一个URL为:

launch://sinaweibo?text=

  与上一个workflow类似,这里的launch://表明让iOS打开LCP这个app,sinaweibo?text=自然就是发送微博了。

在豆瓣电影搜索选中文字

  很多时候会看见有人推荐电影,在只有一个电影名的情况下,自然要先上豆瓣搜索一番。此时这个workflow就非常有用了。

  URL中填写:

http://movie.douban.com/subject_search?search_text=

  用同样的方法可以自己设置在任何可以搜索的网站搜索选定文字的workflow.

我的Activator配置

  顺便也写一下我是怎么在iPad上更好的利用Activator的吧。

  1. 大家都知道iOS7新增了Control Center,虽然方便了不少,但是当你在浏览网页时,一定会有用手指从右下角向上滑动网页而不小心调出了Control Center的经历,次数多了就很令人烦躁。我的解决方案是只允许在屏幕左半边由底部上滑调出Control Center,右部上滑给它disable掉。在home界面仍然允许右部上滑,完美解决了问题。

  2. 在微博app图标向上滑动发布新微博,怎么样,比较cool吧。借助Activator就可以实现。但是Activator默认界面是没有Icon Flick动作的,你需要在右上角点击Edit,就会看到一些默认隐藏的动作了,当然包括我们要用到的Icon Flick Up.

保存Safari网址到Evernote

  这也是我的一个需求,有时候看到一篇好文章,自然想把网址保存起来,以备以后查用。这个功能可以通过在safari上新建一个书签,输入以下内容来实现。

js javascript:window.location='drafts://x-callback-url/create?text='+encodeURIComponent(document.title+'%5Cn')+encodeURIComponent(location.href+'%5Cn')+encodeURIComponent(window.getSelection())+'&action=safari&x-success='+encodeURIComponent(location.href);

  safari书签可以执行js代码,上述代码可以把当前浏览的safari网址和文章标题保存进evernote中。举一反三,大家应该知道&action=safari这里的safari就是Drafts里创建的Evernote动作的Name了吧。

Z
Published on

您好,虽然我很喜欢你的文章,我也给你的文章加星,但一个人注册多个帐号给自己加星是被禁止的,所以你的文章被取消参加这次活动的资格。

Sign in or Sign up Leave Comment