美文网首页Sketch用Sketch做UI
让44.1版本的sketch打开更高版本的sketch文件

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

作者: chardlau | 来源:发表于2017-07-04 23:52 被阅读2410次

    我们都知道,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破解版可以在这里下载。

    本文来自作者同步博客

    相关文章

      网友评论

      • 写说说:楼主您好!我这边尝试用您的方法用48版本打开51.1版本失败了,不知道怎么处理了!可否放一个具体的方法出来!针对不懂代码的设计师使用的...谢谢您!
        chardlau:@写说说 其实可以在xclient.info下载到破解版的sketch
      • 4fc9d0047a65:赞赞赞~亲测同样的方法可用于64版本打开68.2版本的~~非常赞
      • SongRijie:赞👍,shell写的很有心
        chardlau:谢谢你的赞:grin:
      • 森林女巫:从百度云盘下载的关键代码放在那里?直接拷贝到终端里么?
        chardlau:----NOTE----
        这个脚本不适合非程序员身份的读者使用。因为使用它需要一定的命令行知识。实在抱歉。

        依旧要提供一下解决方法(需要假设下载后的文件存放在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这个目录里面,名字不改变。

        做完这两步就可以在终端运行个程序了。实际上你还是不知道怎么用:joy:
      • 变味的面包:不知道从第几个版本是采用的zip的方法压缩的,但是在41版本中是不可行的
        chardlau:不好意思,我只接触了43以后的版本,所以也不知道41的压缩方法甚至它内部的文件格式也是不清楚的

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

      本文链接:https://www.haomeiwen.com/subject/zkrfhxtx.html