Workflow 的局限
我手机上的 Workflow 总是会遇到内存吃紧的情况,无论是在应用内部还是通知中心运行,闪退不断,让我十分头疼。特别是在使用 Make HTML from Rich Text 动作时,遇到比较大的页面就会闪退——比如桌面端的Twitter页面。
Pythonista
所幸的是,你只需要有一点点 Python 基础,就可以利用这个 iOS 上强大的 Python IDE,Pythonista,来解决这个问题。
我在在 iOS 上用 Workflow + Pythonista 使用新浪短链接服务中详细介绍了如何将 Workflow 的结果作为参数传入 Pythonista,以及 Pythonista 如何将结果传回 Workflow 的方法。如果你感兴趣可以自己研究一下,下文只给出实现的方法。
抓取 Twitter 图文内容到 Bear Notes App
移动端的 Twitter 页面似乎无法抓取到所有图片的,所以我使用桌面端的URL作为传入参数。且Twitter、Tweetbot、Twitterrific三种客户端分享出的Twitter链接均为桌面端URL,十分方便。
我的Bear笔记保存格式如下,你也可以自行做些微调:
Title:
@推主ID 发推时间-发推日期
Body:
[发推时间 - 发推日期](推文链接)
正文内容
[所有图片内容]

Workflow 下载地址:Save Tweet to Bear & Tweet
Python 脚本下载地址:tweet.py
两点说明
- 第一个 Workflow 是 Action Extension,第二个则是 Normal。第一个 Workflow 的作用是呼出第二个,之所以这么做是为了让分享推特链接时能进入 Workflow 中运行,而不是保留在 Twitter 客户端页面(运行 Action Extension 类 Workflow 时是在原页面下进行的,不会进入 Workflow 应用中)。由于 Workflow 和 Pythonista 之间的跳转不连贯(break),不这么做的话会出问题。
- 需要将 tweet.py 文件中的 YOUR_USERNAME 改成你 iOS 社交账号中的 Twitter ID。没错,你必须在iOS设置中登录Twitter账号才能使用这个Python脚本。
