发布插件

目录

  1. 入门

    1. 插件基础
    2. 您的第一个插件
    3. 开发环境
    4. 调试
    5. Action API
    6. 发布插件
  2. 高级

    1. 插件捆绑
    2. 插件,脚本和命令
    3. 插件位置
    4. 更多关于CocoaScript
    5. SketchTool

Sketch插件列在GitHub存储库中。本文档解释了如何在那里发布它以及如何让Sketch接收插件的更新。

第一次发布

Sketch插件列在GitHub存储库中:https://github.com/sketchplugins/plugin-directory。

要将您的插件添加到列表中,请使用关于您的插件的信息打开PR。合并后,您的插件将显示在此处:https://sketchapp.com/extensions/plugins/

如果您使用skpm,第一次使用插件发布skpm publish,它会自动为您创建PR。

发布更新

从Sketch v45起,Sketch提供了官方支持的机制来更新应用程序中的插件。

如果您的插件已经内置了自己的更新机制,我们鼓励您转向使用新系统。这将改善用户体验,因为用户将能够在应用程序的“首选项”面板中管理选项卡内的所有已安装插件。

启动时,我们检查所有安装插件的更新,如果有任何问题,我们会在Sketch的窗口上显示一个徽章。点击它会让用户访问应用程序的首选项,在那里他们将能够更新他们的插件。

目前Sketch只允许用户更新到最新版本。将来的Sketch版本可能会为用户提供更多的选项来选择可以下载和安装哪个插件版本。

您有两种解决方案可以选择使用此更新机制:

1.使用 skpm

通过运行skpm publish,它会自动发布插件的更新版本,并确保Sketch可以提取它。

2.手动

manifest.json包含在您的插件包中的文件中有一个额外的条目,您需要定义更新才能正常工作。

该条目被调用appcast,它是一个指定appcast文件的URL的字符串。

appcast.xml文件

appcast文件包含有关插件更新的信息,例如可用更新的版本以及可从中下载更新的位置。Sketch下载此文件以确定是否有可用的插件更新。

Appcast符合Sparkle文档和发布更新页面中描述的Sparkle定义的appcast 。对于Sketch插件,仅支持.zip文件作为附件。

当用于插件时,最小和最大系统版本不涉及操作系统的版本。究竟如何将它们用于更高版本的Sketch中仍未确定。

以下Appcast示例列出了插件的三个不同版本。每个版本都有自己的下载链接和简要说明文字。



  
    Hello World Sketch Test Plugin
    http://sparkle-project.org/files/sparkletestcast.xml
    Brilliant Hello World Plugin
    en
      
        Version 1.1
        
          
              
  • Minor update v1.1
  • ]]>
    Version 1.2
  • Minor update v1.2
  • ]]>
    Version 2.0
  • Major update v2.0
  • ]]>

    在您的插件中实现启动和关闭方法

    如果你的插件做了任何需要初始化的事情,你应该把这个Startup处理器作为插件的一部分。执行Shutdown处理程序也是一样,你应该实现你的插件需要的任何清理代码。你可能已经在使用这些事件,但是插件更新比以前更重要。

    当插件更新时,正在更新的版本将发送该Shutdown操作。新版本将发送一个Startup动作。

    例如,如果您的插件在Sketch中显示了一些用户界面元素,则应删除Shutdown处理程序中的那些元素。通过这种方式,新插件将能够显示已更新的用户界面组件以及所有旧用户界面元素已被删除。

    对于插件所维护的任何持久数据也是如此。任何未保存的信息应在Shutdown调用时写入磁盘。

    不要在Startup可以稍后运行的处理程序中包含代码。

    故障排除

    所以你已经遵循了所有的步骤,你的插件还没有更新?试试这些:

    • 删除PluginsWarehouse居住的文件夹。这是我们缓存插件下载的地方,如果您已经测试了不同版本的appcast,那么您可能在那里有一些值得清理的旧东西。~/Library/Application Support/com.bohemiancoding.sketch3/
    • 确保manifest.json您下载的ZIP中有与您的appcast中的版本号相匹配的版本号。如果appcast表示ZIP包含v1.2,但实际的ZIP表示它是v1.1,则安装将不起作用。

    原文:https://developer.sketchapp.com/guides/preferences/

    你可能感兴趣的:(发布插件)