标签 iOS 下的文章

视频点此

如果你使用iOS系统的话,应该会注意到快捷指令app中“我的快捷指令”与“自动化”两个标签。今天,简单来介绍一下我认为比较新颖的使用思路。

首先来说如何使用快捷指令呢?在快捷指令界面下,一个标签就是一个快捷指令执行的功能,使用的时候直接点击对应的标签即可。

或者在可以直接在桌面增加快捷指令的小部件,点击运行;又或者可以直接将快捷指令发送到桌面图标(只需要在快捷指令app中,点击需要发送到桌面的快捷指令模块右上角的三个点,再点击右上角设置—添加到主屏幕,设置好图标和名称之后确认添加即可。

对于快捷指令的自动化界面也很容易理解。就是在特定的条件下自动去触发某一系列操作。

仔细查看一下两个界面可以添加的动作就会发现,快捷指令模块和自动化模块可以添加的动作几乎是一样的,那么为什么会出现这两个界面呢?

我个人认为,之所以把自动化放在了快捷指令的后面,是因为我们可以把快捷指令界面的每一个按键理解为一个函数,自动化可以去引用这些函数。

你可能不是很能理解为什么要通过引用来实现本可以在自动化中直接编写出来的操作,这里我直接举一个例子,也许就能体会到引用的优势了。

就像前面截图,我有一个更换表盘的快捷指令。这个快捷指令中只有一个动作:将Apple Watch表盘调整为团结之光。那么在自动化中,我设定了每天晚上八点半和打开工作专注模式的时候,将表盘设置到团结之光。诚然,我可以直接起两个自动化,每个自动化里边都直接使用更换Apple Watch表盘的功能来实现这个操作,但这里我选择了在两个自动化中调用更换表盘的快捷指令来实现。因为如果出现了新表盘,我想在这两个节点更换到新表盘时,我可以通过修改快捷指令里边的表盘来直接调整两个自动化所做的动作,而不再需要前往每个自动化分别设定了。

通过快捷指令来实现一个“函数”,在多个自动化中直接调用,来简化之后维护的复杂性,这也许就是为什么快捷指令与自动化放在同一个软件中,自动化还排在快捷指令后面的原因之一吧。

视频点此

一个很简单的想法,源于我的KDE桌面——要知道,我的KDE桌面壁纸设置的就是每日一图,bing来源。

思路也很简单。现如今iOS系统已经预置了一个十分方便但异常强大的组件:快捷指令,而根据KDE可以使用bing每日一图来推断,便可知道bing的图片接口是开放的。所以前提条件都准备好了,就直接来编写快捷指令吧。

打开快捷指令,新建。

首先就是要获取bing当天推荐的图片。而获取的方法自然是通过Bing提供的API获取。

API地址如下:https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

快捷指令中已经提供了从API获取js结果的功能,直接搜索添加获取URL内容,其中获取来源填入上面的API地址即可。

从这个网址获取到的结果是一个json字符。在快捷指令中,可以很方便的将json串转换为词典并从词典中提取指定键对应的值。而这也是作为互联网上面API使用最多的数据传输方法。上述Bing的API得到的json保存有很多信息。而我们只需要其中的图片路径即可。假定上述获取到的json命名为Bing,那么它有关图片地址的键就在Bing.images.url。而这个路径并不是完整的,它没有保存这个图片对应的通用的网址前缀。而这个前缀就是Bing的网址https://www.bing.com/

在了解了上述规律之后,就可以继续完成这个快捷指令了。我们现在只是拿到了最初始的json字符串,接下来就是要解析并获取真正的图片了。而这些功能快捷指令都有着对应的功能。

增加一个功能获取词典值,来源位置会自动加入前一步骤得到的结果(URL的内容),也就是刚刚通过API获取的json。而为了之后简化路径,可以在这里先进行一次筛选,使之后的选择可以以Bing.images中进行。

点击URL的内容,弹出的小窗口中,类型(第二行蓝字位置)选择词典

下方获取键对应的值输入images,完成。这样变把此处的来源变成Bing.images里的内容了。

这个功能的后方,输入网址对应的键名url,获取的是

设置完成后这个功能整体表现出来的是这样的:

得到了URL,现在就可以补全URL来获取图片了。但是要注意,这里还是通过网址来获取的,所以使用的功能仍然是获取URL内容,而路径要输入完成的,补全的路径。因此需要在默认填入的词典值前面加上通用前缀https://www.bing.com/。整体看起来是这样的

最后,把获取到的墙纸设置为得到的图片即可。添加一个操作,名为设定墙纸,根据自己的需要,选择设置锁定界面还是主界面,而来源里边默认加入的URL的内容要注意,因为获取到的是图片,所以需要把类型设置为图像。如图。

同时,展开这个功能折叠的内容,关闭显示预览(否则执行后会进入到设定壁纸的预览界面,手工确定才能完成,就不符合原始的需要了。