(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211198508.8
(22)申请日 2022.09.29
(65)同一申请的已公布的文献号
申请公布号 CN 115291852 A
(43)申请公布日 2022.11.04
(73)专利权人 北京尽微 致广信息技 术有限公司
地址 100102 北京市朝阳区阜通 东大街1号
院5号楼2单元42层324201室
(72)发明人 聂玉江
(74)专利代理 机构 北京集佳知识产权代理有限
公司 11227
专利代理师 吴磊
(51)Int.Cl.
G06F 8/30(2018.01)
G06F 8/41(2018.01)G06F 9/445(2018.01)
(56)对比文件
CN 108694049 A,2018.10.23
CN 110955540 A,2020.04.0 3
US 20193 39947 A1,2019.1 1.07
jingcheng345413.React Native使用指南-
原生模块. 《ht tps://blog.csdn.net/
jingcheng345413 /article/detai ls/
54967819》 .2017,正文页.
美团技术团队.积木Sketc h插件进阶开发指
南. 《https://segmentfault.com/a/
1190000037746695》 .2020,正文第3节.
审查员 杨威明
(54)发明名称
一种Sketch插件的开发方法、 装置、 设备及
介质
(57)摘要
本申请实施例公开了一种Sketch插件的开
发方法、 装置、 设备及介质。 其中, 该方法包括: 在
Sketch中注册原生模块; 当原生模块注册成功
后, 接收通过原生模块输入的用于开发Sket ch插
件的代码; 其中, 用于开发Sketch插件的代码采
用如下至少一种 编程语言: Objective ‑C语言、 C+
+语言和C语言。 可见, 本申请实施例中通过注册
原生模块, 使得能通过原生模块编写Sketch插
件, 从而使得API的调用不再受JavaScript语言
脚本引擎的制约; 而且 通过Objective ‑C语言、 C+
+语言和C语言编写Sketch插件, 可以调用macOS
系统底层API, 扩 展了Sketc h插件的功能。
权利要求书1页 说明书7页 附图1页
CN 115291852 B
2022.12.23
CN 115291852 B
1.一种Sketc h插件的开发方法, 其特 征在于, 所述方法包括:
在Sketch中注册原生模块;
当所述原生模块注册成功后, 接收通过所述原生模块输入的用于开发Sketch插件的代
码; 其中, 所述用于开发Sketch插件的代码采用如下至少一种编程语 言: Objective ‑C语言、
C++语言和C语言;
通过LLVM编译器或clang编译器对所述用于开发Sketc h插件的代码进行语法检测。
2.根据权利要求1的方法, 其特 征在于, 所述在Sketc h中注册原生模块包括:
执行JavaScript脚本, 将 所述原生模块注入所述Sketch的进程; 其中, 所述JavaScript
脚本是所述Sketc h官方推荐的用于编写Sketc h插件的脚本 。
3.根据权利要求1的方法, 其特 征在于, 所述方法还 包括:
接收通过 所述原生模块输入的用于管理Sketc h插件内存的代码。
4.根据权利要求1的方法, 其特征在于, 所述接收通过所述原生模块输入的用于开发
Sketch插件的代码包括:
接收通过 所述原生模块输入的用于调用macOS系统的应用程序接口API的代码; 和/或,
接收通过 所述原生模块输入的用于调用macOS系统的开源库的代码; 和/或,
接收通过 所述原生模块输入的用于从内存中获取Sketc h数据的代码。
5.一种Sketc h插件的开发装置, 其特 征在于, 所述装置包括:
注册单元, 用于在Sketc h中注册原生模块;
接收单元, 用于当所述原生模块注册成功后, 接收通过所述原生模块输入的用于开发
Sketch插件的代码; 其中, 所述用于开发Sketch插件的代码采用如下至少一种编程语言:
Objective ‑C语言、 C+ +语言和C语言;
检测单元, 用于通过LLVM编译器或clang编译器对所述用于开发Sketch插件的代码进
行语法检测。
6.根据权利要求5的装置, 其特 征在于, 所述注 册单元具体用于:
执行JavaScript脚本, 将 所述原生模块注入所述Sketch的进程; 其中, 所述JavaScript
脚本是所述Sketc h官方推荐的用于编写Sketc h插件的脚本 。
7.一种Sketc h插件的开发设备, 其特 征在于, 包括:
存储器, 用于存 储指令;
处理器, 用于执行所述存储器中的所述指令以执行权利要求1至4任意一项所述的方
法。
8.一种计算机可读存储介质, 包括指令, 当其在计算机上运行时, 使得计算机执行权利
要求1至4任意 一项所述的方法。权 利 要 求 书 1/1 页
2
CN 115291852 B
2一种Sketch插 件的开发方 法、 装置、 设备及介质
技术领域
[0001]本申请涉及插件开发技术领域, 更具体的说, 涉及一种S ketch插件的开发方法、 装
置、 设备及 介质。
背景技术
[0002]Sketch是一个运行在macOS系统上面的用户界面 (User Interface, UI) 原型设计
软件。 Sket ch 插件是Sketch的增强程序, 用于拓展Sketch的功能。 通过开发Sketch插件, 并
在Sketch安装相应的Sketch插件, 使用安装后的Sketch插件, 能帮助 设计师更高效地完成
设计工作。
[0003]目前, Sketch官方提供的Sketch插件的开发方案, 是由Sketch维护的基于
JavaScript Core的JavaScript 语言脚本引擎拓展而成的, 使用Javascript 语言编写插件。
在该开发方案中, macOS系统的应用程序接口(Application Program Interfac e, API)的调
用处处受到J avaScript 语言脚本引擎的限制, 且使用Javascript 语言编写插件, 无法调用
macOS系统底层API, 如C语言接口和C+ +语言接口, 导 致开发得到的Sketc h插件的功能较少。
发明内容
[0004]有鉴于此, 本申请实施例公开一种Sketch插件的开发方法、 装置、 设备及介质, 以
扩展Sketc h插件的功能。
[0005]本申请实施例提供的技 术方案如下:
[0006]本申请实施例第一方面 提供了一种Sketc h插件的开发方法, 所述方法包括:
[0007]在Sketch中注册原生模块;
[0008]当所述原生模块注册成功后, 接收通过所述原生模块输入的用于开发S ketch插件
的代码; 其中, 所述用于开发Sketch插件的代码采用如下至少一种编程语言: Objective ‑C
语言、 C++语言和C语言。
[0009]在一种可能的实现方式 中, 所述在Sketc h中注册原生模块包括:
[0010]执行JavaScript脚本, 将所述原生模块注入所述Sketch的进程; 其中, 所述
JavaScript脚本是 所述Sketc h官方推荐的用于编写Sketc h插件的脚本 。
[0011]在一种可能的实现方式 中, 所述方法还 包括:
[0012]通过LLVM编译器或clang编译器对所述用于开发Sketch插件的代码进行语法检
测。
[0013]在一种可能的实现方式 中, 所述方法还 包括:
[0014]接收通过 所述原生模块输入的用于管理Sketc h插件内存的代码。
[0015]在一种可能的实现方式中, 所述接收通过所述原生模块输入的用于开发S ketch插
件的代码包括:
[0016]接收通过所述原生模块输入的用 于调用macOS系统的应用程序接口API的代码;
和/或,说 明 书 1/7 页
3
CN 115291852 B
3
专利 一种Sketch插件的开发方法、装置、设备及介质
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 16:31:30上传分享