分类 Apple系列 下的文章

视频点此

如果你使用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的内容要注意,因为获取到的是图片,所以需要把类型设置为图像。如图。

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

视频点此

苹果家族的软件以封闭闻名,但macOS是一个例外——毕竟历史原因使得它除了图形界面以外都有规律可循。所以当使用Linux的思维去理解macOS的时候,就发现了一些到目前为止都没见过有谁提到过的有趣的细节。

我曾经在以前的内容中说过神奇的快捷方式——软链接。当时我就说过这玩意儿在Windows下用处不多,但Linux和macOS下用途很广。那时候我说这句话其实还是有些心虚的,因为我只用过Linux,对macOS的情况不是很了解,仅仅是为Linux和macOS的内核相似才得出的那个结论。但现在不一样了,我真正使用过macOS了,所以对于这个结论,我只能说:macOS同样很频繁的在使用软链接,可能比Linux更甚。

因为它为每个程序都软连接出来了一整套用户根目录,形成了一种沙盒机制。

我们可以简单领略一下:在home文件夹,打开资源库——你可能过需要按下cmd+shift+.来显示这个文件夹,或通过显示设置使它取消隐藏属性。

打开资源库,你会看到一个名字为Containers的文件夹。顾名思义,这里是用户程序的容器集合。打开它,你便能看到很多熟悉的面孔。

如果你有兴趣的话可以把每个文件夹都打开看看。这里我就直接跟你说结论吧:这里边一个文件夹就是macOS为一个程序准备的一个沙盒——或者说,一套用户home。为什么这么说呢?我们随意打开一个你就会看到。

是不是很熟悉?是的,这里边的文件夹结构与home是一模一样的,只不过这里多了Library、SystemData和tmp。

但是还是有些许不同的地方。注意到有几个文件夹左下角的小箭头了吗?错了,它不是普通的快捷方式,而是软链接。我们通过终端来看一下它们连接到的具体位置。

没有错,这些软连接都指向了我们的home。具体来解释一下:桌面、下载、视频、音乐、图片四个文件夹是与用户目录同步的,而文档、库、系统数据、临时文件每个程序都是单独占有的。这就使得在程序看来,自己是这个系统上唯一的程序,还可以在这个系统里边随意玩耍;而在macOS系统看来,每个程序就算玩出天来,也没能逃脱分配给它的这个乌托邦中。莫名的让我想到了缸中之脑理论…

那么如此设计的优势在哪儿呢?就我个人的感受,相对于另外两种系统来说,如此存储使得每个程序都有着相对隔离的系统环境,最大程度的避免依赖问题——任何系统都需要依赖,不只是Linux;而且所有文件都建立在了一个统一的位置,当卸载软件时直接删除这个文件夹便清理掉了由这个软件带来的所有文件——当然,音视频文档会保留,因为是软链接到了用户目录下。而与之相对的,就用户或者系统的视角来看,想去到一个程序的目录下路径就会变得异常复杂,以至于如果不耐下心来找的话会很难找到。

不过,既然找到了,就可以进行一些骚操作了。比如说微信电脑端、QQ电脑端的无限期云端同步功能。