如今我们喜欢使用微信来联系他人,见面递名片的习惯也慢慢被「扫码加好友」所代替。但不是所有情况下都适合加微信,比如我过去在体制内工作时,就很不情愿随便加「领导」的微信,加完我的朋友圈要不要给他们看?我要不要和他们保持点赞之交的关系?微信就是许多人的虚拟身份,如果是一些只会临时联系几次的人,我不想把他们加入我的微信通讯录。
但是直接报出电话、邮箱,似乎不方便也不礼貌,我还遇到过对方提出「加我微信发我你的邮箱」这类要求。给你发完信息,我要不要删你好友?很纠结。其实通过 Workflow 能够兼得微信扫码的方便,又不需要加好友就能把名片发给对方,非常优雅:
这就是 vCard(Versitcard,电子名片)1 在二维码中的应用,目前所有 iOS 11 设备都支持直接扫码添加联系人,Android 可能需要安装一些应用来实现(我使用的是 Barcode Scanner)。 原理
vCard 是电子名片的标准格式,有时你收到的邮件里就会夹带着它,不过不要轻易点开,往往里面是广告。不同的操作系统中 vCard 有不同的具体表现形式,但其中的文本内容是基本相同的: BEGIN:VCARD
VERSION:3.0
N:姓;名;; Mr.;
FN:全民
ORG:公司名
TEL;TYPE=类型,VOICE:电话
EMAIL:邮箱
END:VCARD
只要是这样格式的文本,一旦被支持的客户端读取到,就会像触发了超链接一般提示你可以把对应的联络信息加入通讯录。
vCard 的文本格式被开发者 zxing 吸收,纳入了其制定的二维码内容标准,使得通过扫码添加联系人成为了可能。 制作
知道了原理后,制作其实非常简单,就是把联系人信息分门别类填进 vCard 格式的文本中在生成二维码。我选择用 Workflow 来制作一个自动化动作,可以每次选择不同的联系人生成二维码名片。这个 Workflow 大致分为两大部分:
获取联系人信息
组合起来并生成二维码
首先添加几步动作来获取联系人信息。Workflow 内置了「Select Contact」,可以选取一个联系人,我把它设置为变量「Contact」,你如果会使用魔法变量就能省下设变量这一步。
接下来开始获取联系人的具体信息,先直接加一步「Get Details of Contacts」,获得联系人的名字(First Name)。
接着不能直接连着其他的「Get Details of Contacts」,每次 Get 前要先加一步「Get Variable」来获取之前设好的变量 Contacts。四次下来,分别获取联系人的名字、姓氏、手机号和邮箱(顺序可以自己调整)。
随后将它们组合进 vCard 格式的文本中,保存在一个文本框里。最后,用「Generate QR Code」来产生二维码并通过「Quick Look」展示给别人看。
来运行一下这个 Workflow,它会生成带有联系信息的二维码。
如果你多运行几次,就会发现即使你的联系人信息缺胳膊少腿一般也不会导致 vCard 的生成出错,顶多缺少的那一项空着罢了。
除了姓名、电话和邮箱,你也能为名片二维码添加更多内容:
注:地址哪项不需填写的话请留空,比如这样 ADR;TYPE=WORK,PREF:;;;深圳;广东;;国家,扫描出来的地址就只包含省市和国家信息:
通过这个 Workflow,别人想要我的联系方式或我朋友的联系方式时,就不用「先加微信再发名片」,简单的扫码就完成了联络信息的添加。由于我事先加了「Select Contact」,所以能够分享通讯录里任何人的联系方式,很是灵活。