下载客户端
下载客户端
关于我们 寻求报道 加入我们
weizhizao 2015-8-17 10:48

iOS Automation 这一词也是近几年才被外媒提得比较多的。随着 iOS 系统的不断发展,以及苹果对 App Store 一些政策的微妙改变,使得越来越多创新的效率类 app 出现在我们的面前。而正是有了它们,我们才可以在 iPhone 和 iPad 上高效地完成一些本来需要很多复杂和重复步骤的事情。

URL Scheme 的历史

谈到 iOS Automation 我们就不得不谈到 URL Scheme,可以说其是 iOS Automation 的一大精髓。然而 URL Scheme 的发展则是比较漫长的。早期的 URL Scheme 只能是简单的打开某些软件而已。直到 2011 年,Drafts 的开发者 Greg Pierce 写出了 x-callback-url 标准。为其他 iOS 开发者提供了帮助,使得本来在 iOS 上封闭的多个 app 之间实现互相通信并交换数据成为了可能。

早期的 Drafts 和 Launch Center Pro 是两款很典型的支持 URL Scheme 和 x-callback-url 的效率 app。相信很多朋友都是通过这两款 app 才对 URL Scheme 有所了解的。记得那时看到一些外媒对这两 app 评测的文章以后,瞬间眼界大开,原来 iOS 上还可以做到这样的事情,简直太酷了!于是在网上搜了好多关于 Drafts 和 URL Scheme 的文章去研究,自己一个一个写代码去尝试,直到成功运行一个 Action。那时折腾出的效率真是带来了愉悦感。

后来越来越多开发者的 app 开始支持 URL Scheme 和 x-callback-url 功能,并在官方文档里很详细地说明了使用规范。实现的功能也来越多,而不是单一的打开 app,现在可以做到只有在 app 内部才能实现的功能。接下来我们就来讲些实例:

  • 实例一:通过 Next 的 URL Scheme 和 x-callback-url 可以实现在 Launch Center Pro 直接添加某个项目的记账,然后返回到 Launch Center Pro。这对每天都要记账、重复这些动作的人来说是十分方便的。其中 0、1、2、3、4、5 的顺序是根据你自己 Next 里的图标排列顺序来决定的。点此链接导入 Launch Center Pro,然后根据自己的实际情况修改。

next://x-callback-url/add?&category=[list:Choose Category|咖啡=0|购物=1|衣服=2|音乐=3|吃饭=4|加油=5|App=6]&amount=[prompt-num]¬e=[prompt:note]&x-success=launch://
next

  • 实例二:在 Instapaper 中阅读英文文章时运用 Terminology 3 查阅英英释义,再触发跳转到 Drafts 4 保存单词到印象笔记,再自动返回到 Terminology 3,再通过欧路词典查阅中文释义,接着返回到 Terminology 3,最后再返回到 Instapaper。理想情况下整个流程是完全闭合的(排除 Bug )。其中需要添加以下几个 Actions。

1.在 Terminology 3 中添加 Term > Drafts > Evernote Action 点此链接导入

drafts4://x-callback-url/create?text={{[}}[[term]]{{](}}[[term_url]]{{)}}&action={{Append to Word List}}&x-success={{terminology://}}

tre1

2.在 Terminology 3 中添加 Eduic Action 点此链接导入

eudic://x-callback-url/searchword?word=[[term]]&x-success=terminology://

tre2

3.在 Drafts 4 中添加 Append to Word List Action 点此链接导入,并注意印象笔记中已经存在对应设置好的笔记。

TRE3

Python 的出现

Python 的出现使得 iOS Automation 的用法更进了一步。这主要是因为开发者 Ole Moritz 在 2012 年 7 月推出了一款在 iOS 上提供编写 Python Script 语言环境的 app – Pythonista。同时它自身还支持 URL Scheme 和 x-callback-url 功能。只要你懂得 Python Script 语言的编写就可以实现更多的功能。

然而在 2013 年 8 月 Ole Moritz 又推出了一款强大的 Markdown 文字编辑 app – Editorial,同时拥有 Python Script,URL Scheme 和 x-callback-url 特性。你可以利用其众多 Actions 和 Python 模块来获取文字、图片,甚至是 web APIs 上的数据,并设置变量参数。在 Macstories 上可以查到很多相关专业文章。这里先分享一个简单的例子。

  • 实例:在 Editorial 中利用 Run Python Script 来合并 3 张截图。点此链接导入,其中截图尺寸需要根据自身设备进行调整,否则会变形。

import Image
import photos
import console
import ImageOps
# Pick screenshots to combine
screenshot1 = photos.pick_image(show_albums=True)
screenshot2 = photos.pick_image(show_albums=True)
screenshot3 = photos.pick_image(show_albums=True)
mode = console.alert('Create or Clean', 'Select a mode below.', 'Create Now', 'Clean First')
if mode == 2:
from Cleanbar import cleanbar
cleanbar(screenshot1)
cleanbar(screenshot2)
cleanbar(screenshot3)
# Creates final image
console.clear()
print "Creating final image..."
background = Image.new('RGBA', (866,600), (255, 255, 255, 255))
file1 = screenshot1.resize((250,375),Image.ANTIALIAS)
file2 = screenshot2.resize((320,680),Image.ANTIALIAS)
file3 = screenshot3.resize((250,375),Image.ANTIALIAS)
file1 = ImageOps.expand(file1,border=1,fill='gray')
file2 = ImageOps.expand(file2,border=1,fill='gray')
file3 = ImageOps.expand(file3,border=1,fill='gray')
background.paste(file1,(10,77))
background.paste(file2,(272,15))
background.paste(file3,(604,77))
console.hide_activity()
background.show()
print "\n\n Image created"

editorial

JavaScript 的运用

说起 JavaScript 也是近两年才被运用到 iOS Automation 中的。在 iOS 8 未发布以前,我们通过在 Safari 中添加相关的 JavaScript Bookmarklet 来获取当前网页的标题和网址,以及选中的文字。然后再运用 URL Scheme 和 x-callback-url 对获取的数据进一步处理。然而随着 iOS 8 的发布,已经可以利用其 Share Extention 可以直接实现了。然而有些功能还是只能通过 Bookmarklet 来实现。

  • 实例:将在 Safari 中浏览的 Twitter 用户界面之间通过 Tweetbot 客户端来打开或者 @ 他。复制下面链接添加至 Safari 书签即可

javascript:window.location='launchpro://?url='+encodeURIComponent('launchpro://?url=%5Blist:Open%20'+location.pathname.substring(1)+'%7CMention%20on%20Tweetbot=tweetbot:///post?text=%40%7COpen%20on%20Tweetbot=tweetbot:///user_profile/%5D'+location.pathname.substring(1))

javascript

JavaScript 除了被运用到 Bookmarklet 中,文字编辑类应用 Drafts 4 和 1Writer 也对其提供了支持。下面介绍两个实例。

  • 实例一:在 Drafts 4 中对 GoodTask 同时添加多项任务并运用 GoodTask 的智能添加和 Drafts 4 的 Script 特性设置好提醒。其中需要注意的是在输入智能添加关键词时,前后都要用空格分开。如「 看比赛 明天 9:00」,当然 GoodTask 的规则也要提前设置好。点此链接导入

drafts

  • 实例二:在 1Writer 中运用 JavaScript 搜索某 app 在 App Store 中的链接,点击即可将选中的名称替换为 markdown 格式的链接和价格。点此链接导入

1writer

Workflow 的发布

Workflow 绝对称得上是 iOS 上最好的效率类 app 之一。它的发布使得 iOS Automation 又上了一个全新的高度。它既支持 URL Scheme、x-callback-url 和 Script,又支持变量等函数公式。它将复杂的代码图形化,使得人们更加容易创建出自己想要的 Workflow,能实现的功能也更加广泛。最新发布支持 Apple Watch 的 Workflow 更是使得其使用情景获得更广的延伸。在这里先分享两个自己常用的 Workflow。

  • 实例一:在某 app 的 App Store 界面通过 Workflow 的 Share Extention 来将该 app 的名称发送到 Appshopper 中搜索,然后添加到自己的 Wish List 里。不过由于 Appshopper 对中文搜索不是很好,所以有的需要删除相关中文以保证搜索出正确的结果。点此链接导入

workflow1

  • 实例二:通过 LongScreen 自动将两张最新的 app 截图拼接起来,并运用 Workflow 自定义更改图片尺寸,然后自动保存到相机胶卷,最后自动「返回」到 homescreen。最后一步运用到的是一款名叫 MyShortcuts+Viewer – $0.99的 app 。其实算是一个 Bug ,但没有大的坏处。当然如果你是越狱用户的话可以通过最新的 Beta 版 Activator 的 URL Scheme 来返回到 homescreen。点此链接导入

workflow2

iOS Automation 的未来

随着 Launcher 和 Schemes (原 Workflows )以及 Paste+ 的重新上架,以及苹果可能改变的相关政策,相信会有越来越多支持 URL Scheme、x-callback-url、JavaScript 等特性的 app 出现在 App Store。而 iOS Automation 的发展也会越来越好,未来也有可能与硬件「NFC」相结合发展出更多可能的 Home Workflow。

由于 iOS Automation 的私人属性比较强,我常用的未必你也常用,所以还是要根据自己的实际需求来创建属于自己的 iOS Automation。

上述部分内容和 Actions 参考自下列网站:

Productivity and Workflows – Geeks With Juniors
One Tap Less | Blog
MacStories
RocketINK (题图 via: RocketINK)

 

AJunTalk

(这里替换有话说内容)

有好的产品或者项目希望我们报道,猛戳这里 寻求报道

文章评论(-)
后参与讨论
正在加载中

2015-8-17 11:42下一篇

2015-8-17 09:50上一篇