SketchX

一个简单的工具,可以帮助你将 Sketch 文档导出到 Xcode 资源目录。

注意:这个工具可以手动运行,但实际上更适合作为 Xcode 构建过程中的一个“运行脚本阶段”来运行。

用法

单个目录

将页面上的所有画板导出到同名的资源目录

`sketchx Document.sketch <page> <path>`

页面上的每个画板都将被导出到该目录中。

应该在 Sketch 中设置画板的名称,以反映资源的名称和类型 - 例如 "AppIcon.appiconset/AppIcon"。

应该为所需的每个尺寸/比例变体设置导出预设。

目录将被导出到 <path> 指定的位置。

重命名

如果要为页面使用目录名称,可以将其与页面名称一起指定

sketchx Document.sketch <页面名称>:<目录名称> <路径>

多个目录

要一次导出多个页面,请提供以逗号分隔的页面名称列表

`sketchx Document.sketch "macOS,iOS" Assets/`

在上面的示例中,名为 "macOS" 和 "iOS" 的页面将分别导出到 Assets/macOS.xcassetsAssets/iOS.xcassets

所有页面

或者,您可以省略页面名称以导出所有页面

`sketchx Document.sketch <path>`

注意:这将跳过任何名为 "Symbols" 的页面。 如果您有一个名为 Symbols 并且想要导出的页面,则必须明确命名它。

构建

使用 git clone https://github.com/elegantchaos/SketchX.git 获取此存储库的内容。

构建并运行,使用 swift run sketchx

执行此操作后,构建的可执行文件可以在 .build/debug/sketchx 中找到。

安装

如果您想将可执行文件安装到某个位置,只需构建然后复制它

    swift build
    sudo cp .build/debug/sketchx /usr/local/bin/

也就是说,您最好在脚本中使用 swift run sketchx,以确保您始终在本地获得最新的构建副本。

示例

如果您有一个名为 "Assets.xcassets" 的目录,其中包含一个名为 "AppIcon" 的图标集和一个名为 "Image" 的图像集。

要从 Sketch 导出到此目录

可以在 Example/Example.sketch 中看到示例文档。

您可以修改它,然后使用以下命令导出(从 SketchX 根文件夹)

`swift run sketchx Example/Example.sketch Assets Example/Example/`

尝试修改 Sketch 文档并重新导出;您应该会在 Xcode 中看到资源发生变化。

Contents.json

目前,sketchx 不会为您写入 Contents.json 文件,因此您无法使用它来创建新的目录/集合。

您必须首先在 Xcode 中创建结构,使用 sketchx 执行图像的初始导出。 您导出的图像将显示在 Xcode 用户界面中,但未分配。 然后,您可以将它们拖到图像/图标集中的各个插槽中。 完成此操作后,Xcode 将记住分配。 再次运行 sketchx 将只重新导出图像,无需在 Xcode 中进行进一步的调整。

未来

这是一个快速而粗糙的黑客工具,可以改进。

一些想法