我们都知道,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. HDU 1166 敌兵布阵(线段树单点更新,板子题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. HDU 1241 DFS

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  3. os系统

    任务延时函数OSTimeDly 功能:调用该函数的任务将自己延时一段时间并执行一次任务调度,一旦规定的延时时间完成或有其它的任务通过调用OSTimeDlyResume()取消了延时,调用OSTimeD ...

  4. GDI绘制时钟效果,与系统时间保持同步,基于Winform

    2018年工作之余,想起来捡起GDI方面的技术,特意在RichCodeBox项目中做了两个示例程序,其中一个就是时钟效果,纯C#开发.这个CSharpQuartz是今天上午抽出一些时间,编写的,算是偷 ...

  5. 【Java提高】---枚举的应用

    枚举 一.枚举和静态常量区别                 讲到枚举我们首先思考,它和public static final String 修饰的常量有什么不同. 我举枚举的两个优点: 1. 保证了 ...

  6. 安装win8+Ubuntu14.04双系统的经验总结

    当时查资料,很多人推荐了easyBCD直接安装ubuntu,但是在我的笔记本上行不通.我的笔记本是Lenovo V480+win8正版系统.这是因为我的笔记本的引导结构是EFI,而不是MBR.我的方法 ...

  7. input[type=file]中使用ajaxSubmit来图片上传

    今天在使用input[type=file]上传图片到服务器时,因为项目要求,并不是像常见的通过按钮来提交表单事件,而是图片上传后就自动执行表单提交事件,将上传的图片信息传给服务器. 刚开始我是这样执行 ...

  8. 什么是redis,redis能做什么,redis应用场景

    Redis是一个key-value存储系统.Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.这篇文章小编为大家分享了在 ...

  9. PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法

    原案例分析: 1.原来的网站在wamp环境下搭建完成,一切正常,上传到虚拟主机环境为lnmp,结果访问时可以打开主页,然后点其他页面全部报404错误: 2.经分析得出原因:原网站环境为wamp使用了伪 ...

  10. 虚拟主机,VPS,云主机之间的区别?

    虚拟主机即共享主机,是利用虚拟技术把一台完整的服务器分成若干个主机,拥有多个网站,共享这台服务器的硬件和带宽的资源.可以托管简单的静态和动态的网站,满足客户最基本的网络托管需求. VPS是将一台物理服 ...