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

本文来自作者同步博客

让44.1版本的sketch打开更高版本的sketch文件的更多相关文章

  1. CMake版本低,需要更高版本.

    https://blog.csdn.net/qq_34935373/article/details/90266958 使用cmake命令安装Opencv软件时,报如下错误: CMake Error a ...

  2. 程序包需要 NuGet 客户端版本“2.12”或更高版本,但当前的 NuGet 版本为“2.8.50313.46”

    由于安装install-package newtonsoft.json 会出现需要 NuGet 客户端版本“2.12”或更高版本来安装,于是换成旧版的newtonsoft.json   PM> ...

  3. 关于IIS部署时出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的问题解决摘要

    系统环境:windows2008 X64 IIS版本:iis7 oracle客户端版本:11g,另外装了32位的客户端. 网站.net framework版本: 4.0 目前状况,IIS可以正常运行, ...

  4. 【转】NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行

    原文网址:https://support.google.com/chrome/answer/6213033 NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行 您可以利用插件在浏览器中 ...

  5. VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

    以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...

  6. EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本

    EBS打开报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本 打开EBS的form,系统报错,中文提示信息是:FRM-92095:oracle ji ...

  7. 解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”

    问题描述:远程访问该数据库(客户端同样是Oracle11g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”. 解决的办法: 1.一定要关闭Win ...

  8. Win10安装.Net Framework4.7及更高版本

    问题描述 使用VS打开项目工程时,提示未安装.net framework4.7,但在启用或关闭windows功能里已经勾选了.net framework 4.7的全部功能. 直接从网上下载.net f ...

  9. 如何在Windows Server 2012及更高版本中将域控制器降级

    如何在Windows Server 2012及更高版本中将域控制器降级 如果不降级就重装系统,会出问题,所以在将域控系统重装系统之前一定要先降级. 使用服务器管理器将 Windows Server 2 ...

随机推荐

  1. easyUI返回类型total,rows

  2. Spark算子--join

      join--Transformation类算子 代码示例 result  

  3. C++异常层次结构

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class MyArray { publi ...

  4. nginx服务器配置/websocket nginx 配置笔记

    server { listen 80; server_name xxx.com; # add_header '*' ; location /u/ { # 反向代理透传客户端ip proxy_set_h ...

  5. nginx.conf文件

    user  www www; worker_processes auto; error_log  /home/wwwlogs/nginx_error.log  crit; pid        /us ...

  6. url加密,一般只对参数加密

    首先,很不推荐你使用get方式发送密码,最好是使用post. 原因是,你通过一个连接把用户名和密码发送到后台,即便密码不是明文,别人获取不到密码明文,但是,只要你这个连接成功登陆过,别人就可以拿这个连 ...

  7. thinkphp操作完提示信息该怎么弄成弹出层啊?

    http://www.thinkphp.cn/topic/21929.html 浏览:11879 发布日期:2014/08/22 分类:求助交流 关键字: thinkphp success跳转 弹出层 ...

  8. Angular 4 自定义组件封装遇见的一些事儿

    你用Angular 吗? 一.介绍 说说封装Angular 组建过程中遇见的一些问题和感悟.用久了Angular,就会遇见很多坑,许多基于Angular开发的框架最喜欢做的事情就是封装组件,然后复用. ...

  9. Java数据持久层框架 MyBatis之API学习十(Logging详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  10. 洛谷 P1231 教辅的组成

    P1231 教辅的组成 题目背景 滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西. 题目描述 蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习 ...