文件夹参考中的PNG图像在复制到捆绑包时不会被压缩?

时间:2013-02-11 05:13:34

标签: xcode png pngcrush

通过阅读Xcode的构建日志,我注意到对于Groups中的PNG图像,运行如下命令:

  

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng   -compress“”resource_folder_path / image.png app_bundle_path / image.png

但是,对于“文件夹引用”,这些文件夹下的PNG图像没有单独的复制命令,但每个文件夹引用只有一个复制命令:

  

builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude   .git -exclude .hg -resolve-src-symlinks img_folder_path   app_bundle_path

虽然我找不到builtin-copy命令(任何人都可以告诉我它在哪里吗?),但它似乎没有pngcrush PNG图像。这是真的吗?如果是这样,有什么好方法可以使用文件夹引用来组织PNG图像,并且在将这些图像复制到包中时仍然可以让这些图像pngcrush

1 个答案:

答案 0 :(得分:1)

如果你使用文件夹引用,Xcode将不会自动进行PNG破碎,你必须手动进行优化。要在您的文件夹中手动运行pngcrush,您可以使用此answer中提供的bash代码段:

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

如果您不喜欢命令行,则可以使用ImageOptim之类的应用程序。