前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >发布插件目录

发布插件目录

作者头像
iOSDevLog
发布2018-05-17 10:57:14
1.1K0
发布2018-05-17 10:57:14
举报
文章被收录于专栏:iOSDevLog

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示例列出了插件的三个不同版本。每个版本都有自己的下载链接和简要说明文字。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Hello World Sketch Test Plugin</title>
    <link>http://sparkle-project.org/files/sparkletestcast.xml</link>
    <description>Brilliant Hello World Plugin</description>
    <language>en</language>
      <item>
        <title>Version 1.1</title>
        <description>
          <![CDATA[
            <ul>
              <li>Minor update v1.1</li>
            </ul>
          ]]>
        </description>
        <enclosure url="https://brillianthello.sketchplugins.com/files/HelloWorldSketchPluginTestv11.zip" sparkle:version="1.1" />
      </item>
      <item>
        <title>Version 1.2</title>
        <description>
          <![CDATA[
            <ul>
            <li>Minor update v1.2</li>
            </ul>
          ]]>
        </description>
        <enclosure url="https://brillianthello.sketchplugins.com/files/HelloWorldSketchPluginTestv12.zip" sparkle:version="1.2" />
      </item>
      <item>
        <title>Version 2.0</title>
        <description>
          <![CDATA[
            <ul>
            <li>Major update v2.0</li>
            </ul>
          ]]>
        </description>
        <enclosure url="https://brillianthello.sketchplugins.com/files/HelloWorldSketchPluginTestv20.zip" sparkle:version="2.0" />
      </item>
  </channel>
</rss>

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

如果你的插件做了任何需要初始化的事情,你应该把这个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/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一次发布
  • 发布更新
    • 1.使用 skpm
      • 2.手动
        • appcast.xml文件
      • 在您的插件中实现启动和关闭方法
        • 故障排除
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档