最近在制作一个像素风格的 ios 应用,需要制作一些像素风格素材,目前 Aseprite 是用于制作像素画和以及像素游戏的动画素材的比较得力的工具,当然还有一些其他的例如 PixilART 也提供了网页版像素画工具可供选择。 Aseprite官网提供的免费测试版只能编辑却无法保存文件,而正式版售价 $19.99 USD。不过 Aseprite 是 GitHub 上的开源项目 且提供了详细的安装教程。本文主要参考官方给出的安装步骤,在 M1 MacBook Pro 上编译安装 Aseprite。

下载相关资源

  1. 从 GitHub 下载 Aseprite 最新版本的 zip 压缩包(目前为 Aseprite-v1.3-rc1-Source.zip
  2. 从 GitHub 下载 Skia-m102 的 zip 压缩包(Skia-macOS-Release-arm64.zip),Skia 是一个由 Google 提供的完整2D图形库,可用于绘制文本、几何形状和图像。
  3. 从 Aseprite 官网下载其提供的免费测试版(目前为 Aseprite-v1.2.40-trial-macOS.dmg),用编译好的可执行文件替换测试版内容。

将下载好的两个 zip 压缩包解压,解压后的目录分别重命名为 Aseprite/Skia/,并与 Aseprite 的免费测试版安装包(重命名为 Aseprite.dmg)放置在同一个文件夹下,以方便后续操作。

安装编译依赖

  1. 安装 CMake(一个开源、跨平台的构建、测试、打包软件):brew install cmake
  2. 安装 Ninja(一个小型的快速构建系统):brew install ninja

编译构建

1
2
3
4
5
6
7
8
9
10
11
# 进入解压好的 Aseprite 目录
cd Aseprite
# 新建一个用于编译构建的目录
mkdir build
cd build
# 新建编译脚本
touch build.sh
# 为脚本添加可执行属性
chmod +x build.sh
# 编辑编译脚本
vim build.sh

以下为 build.sh 编译脚本内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 使用 CMake 编译
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-DLAF_BACKEND=skia \
-DSKIA_DIR=../../Skia \
-DSKIA_LIBRARY_DIR=../../Skia/out/Release-arm64 \
-DSKIA_LIBRARY=../../Skia/out/Release-arm64/libskia.a \
-DPNG_ARM_NEON:STRING=on \
-G Ninja \
..

# 使用 Ninja 构建
ninja aseprite

# 替换免费测试版内的可执行程序以及相关数据文件
cd ../..
# 将免费测试版安装包挂载至 mount 目录
mkdir mount
yes qy | hdiutil attach -quiet -nobrowse -noverify -noautoopen -mountpoint mount Aseprite.dmg
# 复制得到 App 包
cp -rf mount/Aseprite.app .
# 卸载免费测试板安装包
hdiutil detach mount
rm -rf mount
# 删除免费测试板 App 包中的可执行程序以及相关数据文件
rm -rf Aseprite.app/Contents/MacOS/aseprite
rm -rf Aseprite.app/Contents/Resources/data
# 用刚编译好的可执行程序以及相关数据文件替换
cp -rf Aseprite/build/bin/aseprite Aseprite.app/Contents/MacOS/aseprite
cp -rf Aseprite/build/bin/data Aseprite.app/Contents/Resources/data

# 将替换好的 App 包复制到 Applications/ 目录下
cp -rf Aseprite.app /Applications/

运行编译脚本 build.sh

1
./build.sh

脚本运行过程中若显示知情同意书内容,可按 q 继续运行。

如果一切顺利的话,可在启动台看到安装好的 App,点击启动已确认是否可以正常打开。

App 已损坏

从启动器中单击应用图标启动程序时,系统弹窗

“FileName” is damaged and can’t be opened. You should move it to the Bin.

该文件被打上了“隔离”(quarantine)标志note

note. AskDifferent: “FileName” is damaged and can’t be opened.

在 Terminal 中输入如下代码,

1
xattr /Applications/Aseprite.app

查看并确认输出中是否有

1
com.apple.quarantine

若有,则文件确实被隔离。
若信任该文件及其来源,可在 Terminal 中输入如下代码,

1
xattr -r -d com.apple.quarantine /Applications/Aseprite.app

移除该文件的“隔离”标志,此时有可能需要输入系统密码。
再次输入如下代码,

1
xattr /Applications/Aseprite.app

查看并确认“隔离”标志是否已被移除。

重新从启动程序,新建画布后若可以保存,则安装成功。此时可将下载的压缩包、解压文件、安装包、App 包副本等删除。


参考资料: