1

通过阅读 Xcode 的构建日志,我注意到对于组中的 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命令(有人能告诉我它在哪里吗?),但它似乎不是pngcrushPNG 图像。这是真的吗?如果是这样,有什么好方法可以使用文件夹引用来组织 PNG 图像并pngcrush在将它们复制到包时仍然让 Xcode 这些图像?

4

1 回答 1

1

如果您使用文件夹引用,Xcode 不会自动进行 PNG 粉碎,您必须手动进行优化。要在您的文件夹中手动运行 pngcrush,您可以使用此答案中提供的 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之类的应用程序。

于 2013-09-26T11:09:46.280 回答