iOS中快速获取图片资源

298 阅读1分钟

大家可能遇到过这样一个场景,想把项目A中的素材资源拿到项目B中去用,一般现在管理图片素材都用的是Assets.xcassets管理

1672235-c670f4092b20baf7.png

1.png

如果你想拿到项目中的所有图片,Assets.xcassets比较恶心的一点是,一个图片是一个文件夹

1672235-07464de74e55651f.png

2.png

如果需要一个个赋值粘贴就比较悲催了,这里介绍一个好用的工具cartool.
使用方法如下:
1.下载并运行工程,这里如果你是直接运行的话,控制台可能会报如下的错误信息:

Usage: cartool <path to Assets.car> [outputDirectory]
Program ended with exit code: 255

通过查看代码,我们发现,这里需要传入一个参数

1672235-f68d2d7e45186490.png

3.png

所以,此时我们准备一个Assets.car的文件.

2.打开一个你的项目工程,找到Products-->>XXX.app -->Show in Finder -->显示包内容,找到Assets.car文件

1672235-359d7472c350e2bc.png

5.png

\

1672235-2db7a83cf2365baa.png

4.png

3.将Assets.car文件拷贝到桌面上,打开刚才的cartool工程,将Assets.car拖入到Argument Passed On Launch目录下,然后在桌面上新建一个文件夹,名字自己随便起,也拖入这个路径下,如下图所示.

1672235-1e8d1adae1ced82c.png

6-1.png

\

1672235-696aafc45b2bd89c.png

7.png

4.再次运行程序,此时控制台就有很多输出

1672235-c654339d9ec30fcd.png

8.png

查看桌面上的输出文件夹,会发现里面有很多导出的图片素材,而且还是带@2x @3X分明的哦

1672235-7f6a6aaa54ce639c.png

9.png

最终gif图动态效果

1672235-30f65f2587f3e5fc.gif

10.gif