什么是PngCrush在iOS?

我知道Pngcrush是iOS中的一种图像优化技术,但是我的疑问是X-code会在每次构build期间或者在将应用程序部署到iTunes商店之前执行此操作,因此我们需要进行图像优化?

Xcode在构build期间进行转换。 最终的应用程序将修改PNG,你不必手动做任何事情。

PNG粉碎是使用pngcrush工具完成的,您可以使用以下命令手动访问该工具:

 xcrun -sdk iphoneos pngcrush -iphone ... 

Xcode将自动执行此操作,以便使用“PNG”文件types将所有文件添加到目标文件中:

在这里输入图像说明

如果您使用目录引用包含资源,则Xcode 不会执行PNG压缩,您将不得不手动执行此操作。

你可以使用这个小小的bash代码片段手工粉碎目录中的所有PNG:

 find /path/to/directory -name "*.png" | while read filename; do xcrun -sdk iphoneos pngcrush -iphone "$filename" "${filename}_crushed" mv "${filename}_crushed" "${filename}" done 

默认情况下,XCode 自动执行运算。

您可以从项目的构build设置中控制这种行为:

search设置“ 压缩PNG文件 ”并设置所需的值。