我们都知道,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破解版可以在这里下载。
本文来自作者同步博客
网友评论
这个脚本不适合非程序员身份的读者使用。因为使用它需要一定的命令行知识。实在抱歉。
依旧要提供一下解决方法(需要假设下载后的文件存放在Finder的下载文件夹里面),然后打开终端输入下下面两条命令:
chmod 755 ~/Downloads/sketch-saver
mv ~/Downloads/sketch-saver /usr/local/bin/sketch-saver
解释一下这两条命令,
第一条:chmod 就是修改文件的权限的命令,755就是让这个文件可以在终端被当成软件程序运行,后面的~/Downloads/sketch-saver就是文件所在的地址。其中~这个符号表示的是你这个用户所在的主目录,每个电脑的登录用户都有自己的一个主目录,这样文件才不会乱套了。
第二条:mv命令就是移动“move”的意思,整行的意思是把~/Downloads/sketch-saver移动到/usr/local/bin这个目录里面,名字不改变。
做完这两步就可以在终端运行个程序了。实际上你还是不知道怎么用