让44.1版本的sketch打开更高版本的sketch文件

我们都知道,sketch的有效license与版本挂钩。最近设计师又更新了sketch版本,导致她生成的源文件我都无法打开。

毕竟我不是使用sketch进行UI设计,仅用它来查看设计稿参数,再花99美刀实在很不划算。而sketch导出html的方式体验非常不好,因此我只好退而求其次,让我旧版本的sketch能够打开新版本的sketch源文件就好。

分析

经过一番资料查阅,我发现:sketch文件实际上是一个使用zip打包的文件包。这个文件包里面有定义生成该文件的sketch版本以及能够打开该文件的sketch版本。

既然如此,我使用zip解压设计师给我的新版本设计稿源文件,发现其中有meta.json包含了上述信息。其中commit、build、appVersion以及version字段为所有相关字段。修改这些字段在保存回去就可实现低版本的sketch打开该文件。

经过测试,版本号43到最新的45.1的sketch均支持使用该方法实现源文件的转换。

由于我的版本为44.1,参数值为:

commit:"10b2b021ddaac63eb3f52ce0b42edfb625ca194b"  
appVersion:"44.1"  
build:41455  
version:91  
实现

知道了前因后果,解决问题就简单了。作为程序员,我选择使用shell脚本实现该方案。

关键代码如下: 关键代码

可以从百度云盘下载完整文件(sketch-saver)

使用方法

从云盘下载sketch-saver后,为该脚本增加执行权限:

chmod 755 ./sketch-saver  

最好把该脚本存放在终端可以直接搜索到的目录里面,例如:/usr/local/bin,这样只要打开了终端就可以使用下面命令修改高版本的sketch源文件了。

sketch-saver <path-of-sketch-source-file>  

执行结果如下: 执行结果

如图所示,test.sketch为输入,输出为test-44.1.sketch。后者可以被我的sketch打开了。

最后

目前我所使用的44.1的sketch破解版可以在这里下载。

ChardLau

继续阅读此作者的更多文章