Xcode5 xcassets - 如何批量替换图像?

Met*_*ete 12 xcode ios xcode5

假设我有一个包含100个图像的项目,我已将其导入到Images.xcassets主文件中的文件夹中.然后我去从我的图形设计师那里获得67个这些图像的更新 - 是否有一种简单的方法将这些图像更新推送到xcassets文件夹中?

就目前而言,我正在Xcode中打开xcassets文件,并且对于每个已更改的图像,我将新图像拖动到小的2x或1x框中 - 我必须这样做67次!我不能只是在Finder(旧方式)中拖放文件,因为xcassets文件夹中的每个图像都有自己的子文件夹.如果我不为我的图像使用xcassets文件,我可以通过这样做轻松更新文件.但是,xcassets应该"使您的资产管理变得更加简单".

很好 - 所以我错过了什么?

小智 5

无需Ruby,您可以运行此Shell脚本在原始文件夹(更新的图像所在的位置)中查找文件,在目标文件夹(.xcassets文件夹)中查找具有相同名称的文件,然后用更新的版本覆盖它们。很棒!

find ORIGIN FOLDER PATH NAME -name '*.png'  | while read f; do   f2=$(find DESTINATION     FOLDER PATH -name "${f##*/}");   [[ $f2 ]] && cp "$f" "$f2"; done
Run Code Online (Sandbox Code Playgroud)


Fil*_*lic 3

我不认为你错过了什么。资产文件夹根本没有经过深思熟虑。它们带来了一些好处,但也带来了更多缺陷。

以启动图像为例。在 Xcode 不复制文件的情况下,您无法通过资产为不同的 iOS 版本设置相同的视网膜和视网膜 4 英寸启动图像。我想我们别无选择,只能通过错误报告者提交增强请求并希望......