怎样从Sketch向Xcode自动导出图形资源

分享到:

一个实验性的小方法,不使用Sketch和Xcode的同学其实无需浪费时间了。

Bohemian Coding(Sketch的制作团队)发布过一款名为SketchTool的命令行工具,用来自动导出.sketch文件当中的界面和切片。

越来越多的设计师和开发者开始在iOS开发流程当中使用起Sketch。通常,整个流程中会包含很多重复性的工作,例如在Sketch当中修改设计方案,重新导出,然后将更新后的图形资源移入Xcode的Asset Catalogs当中,并再次运行Xcode项目以查看实际效果。

而通过SketchTool配合Xcode,这些都可以自动化完成。

下面是完成这套图形资源更新流程的演示视频:

你也可以下载视频当中涉及到的项目文件。

接下来我们对视频当中演示的几个关键环节进行说明。

安装SketchTool

你可以在Bohemian Coding的网站下载最新版本的SketchTool,然后将下载文件中的sketchtool和 sketchtool resources.bundle放进/user/bin路径中。

或者,你也可以通过在OS X的“终端”当中粘贴以下代码来安装SketchTool:

curl -O http://sketchtool.bohemiancoding.com/sketchtool-latest.zip;\
unzip sketchtool-latest.zip;\
sudo cp sketchtool/sketchtool /usr/bin/sketchtool;\
sudo cp -R sketchtool/sketchtool\ resources.bundle/ /usr/bin/sketchtool\ resources.bundle/;\
rm -r sketchtool/;\
rm sketchtool-latest.zip;

准备Sketch文件

组织项目文件的方式因人而异,不过我个人倾向于将所有的Sketch文件放在Xcode的项目根路径当中,为它们建立一个名为“Graphics Resources”的文件夹当中,正像各位在上面的演示视频当中看到的那样。

在Sketch文件中,使用artboard和切片来组织需要导出到Xcode当中的图形素材。例如,在我的AppIcon.sketch里,我会将每种规格的图标放置在各自的artboard当中,和Sketch 3自带的iOS App Icon模板的方式差不多,我只做了简单的修改。

创建脚本

在Xcode中,创建新的Run Script Phase,并确保其在列表中位于“Copy Bundle Resources”之前。

在我的项目文件中,Run Script的代码如下(你也可以在下载到的文件中看到):

# AppIcon
sketchtool export artboards "$PROJECT_DIR"/"Graphics Resources/AppIcon.sketch" --output="$PROJECT_DIR"/"$PROJECT_NAME"/Images.xcassets/AppIcon.appiconset --formats="png"
# LaunchImage
sketchtool export artboards "$PROJECT_DIR"/"Graphics Resources/LaunchImage.sketch" --output="$PROJECT_DIR"/"$PROJECT_NAME"/Images.xcassets/LaunchImage.launchimage --formats="png"

以上代码需要根据你的项目情况进行调整或扩展。

译文代表原作者观点。欢迎发表评论,或到译者微博进一步交流探讨。

本站原创编译文章。如需转载,请注明:本文来自Be For Web 英文原文:  http://mdznr.roon.io/automatically-exporting-assets-from-sketch-into-x... 译者信息: C7210 - UX玩家、交互设计师、猫奴、guitar fucker,现就职于腾讯ISUX(上海)
昵    称:
验证码:

相关文档: