• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何从 Xcode 项目中删除未使用的图像?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:34:45 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想从 XCode 项目中删除所有未使用的图像,为此我使用以下脚本:

#!/bin/sh
PROJ=`find . -name '*.xib’ -o -name '*.[mh]'`

for png in `find . -name '*.png'`
do
name=`basename $png`
if ! grep -q $name $PROJ; then
rm –Rf "$png"
echo "$png is not referenced"
fi
done

上述脚本运行良好,并从项目中删除了“.xib”中未引用的所有图像,但是有一个问题。

问题

该脚本还会删除“.m”文件中引用的图像。 (以编程方式设置的图像)

请求

您能告诉我如何在搜索中添加“.m”和“.xib”文件。

PROJ=`find . -name '*.xib’ -o -name '*.[mh]'`



Best Answer-推荐答案


首先,您不是在使用 rm -Rf 来删除单个图像。当心!这会递归地删除并且不会强制它,因此它可能是有风险的并且会删除您不想要的东西。最好只说 rm

您的脚本井井有条,井井有条。为了使它更健壮,在变量中使用引号总是好的。这样,它也将支持带空格的名称。也就是说,如果你想删除一个名为“a b.png”的文件,并且名称存储在变量$png中,说rm $png你运行rm a b.png,所以它会尝试删除 ab.png

介绍完之后,我们来重点关注一下这里的具体问题。

您似乎正在寻找以 .xibm 结尾的文件。 查找 . -name '*.xib' -o -name '*.[mh]' 语法好像没问题,但使用regex in find 可能更好.

find -type f -regex '.*\.\(xib\|m|h\)'

最后,您正在使用 for 循环来遍历 find 的结果。注意你也可以说:

while IFS= read -r png;
do
    # things with "$png"
done < <(find ...)

但我不会在这里提出任何其他建议,因为我并没有真正遵循这些 .xib.png 文件的逻辑。如果你能展示一个例子,我会更新我的答案。

关于ios - 如何从 Xcode 项目中删除未使用的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276734/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap