我們都知道,sketch的有效license與版本掛鉤。最近設(shè)計師又更新了sketch版本,導致她生成的源文件我都無法打開。
畢竟我不是使用sketch進行UI設(shè)計,僅用它來查看設(shè)計稿參數(shù),再花99美刀實在很不劃算。而sketch導出html的方式體驗非常不好,因此我只好退而求其次,讓我舊版本的sketch能夠打開新版本的sketch源文件就好。
分析
經(jīng)過一番資料查閱,我發(fā)現(xiàn):sketch文件實際上是一個使用zip打包的文件包。這個文件包里面有定義生成該文件的sketch版本以及能夠打開該文件的sketch版本。
既然如此,我使用zip解壓設(shè)計師給我的新版本設(shè)計稿源文件,發(fā)現(xiàn)其中有meta.json包含了上述信息。其中commit、build、appVersion以及version字段為所有相關(guān)字段。修改這些字段在保存回去就可實現(xiàn)低版本的sketch打開該文件。
經(jīng)過測試,版本號43到最新的45.1的sketch均支持使用該方法實現(xiàn)源文件的轉(zhuǎn)換。
由于我的版本為44.1,參數(shù)值為:
commit:"10b2b021ddaac63eb3f52ce0b42edfb625ca194b"
appVersion:"44.1"
build:41455
version:91
實現(xiàn)
知道了前因后果,解決問題就簡單了。作為程序員,我選擇使用shell腳本實現(xiàn)該方案。
關(guān)鍵代碼如下:
可以從百度云盤下載完整文件(sketch-saver)
使用方法
從云盤下載sketch-saver后,為該腳本增加執(zhí)行權(quán)限:
chmod 755 ./sketch-saver
最好把該腳本存放在終端可以直接搜索到的目錄里面,例如:/usr/local/bin
,這樣只要打開了終端就可以使用下面命令修改高版本的sketch源文件了。
sketch-saver <path-of-sketch-source-file>
執(zhí)行結(jié)果如下:
如圖所示,test.sketch為輸入,輸出為test-44.1.sketch。后者可以被我的sketch打開了。
最后
目前我所使用的44.1的sketch破解版可以在這里下載。
本文來自作者同步博客