菜鸟教程小白 发表于 2022-12-13 11:34:45

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


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

<pre><code>#!/bin/sh
PROJ=`find . -name &#39;*.xib’ -o -name &#39;*.&#39;`

for png in `find . -name &#39;*.png&#39;`
do
name=`basename $png`
if ! grep -q $name $PROJ; then
rm –Rf &#34;$png&#34;
echo &#34;$png is not referenced&#34;
fi
done
</code></pre>

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

<p><strong>问题</strong></p>

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

<p><strong>请求</strong></p>

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

<pre><code>PROJ=`find . -name &#39;*.xib’ -o -name &#39;*.&#39;`
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>首先,您不是在使用 <code>rm -Rf</code> 来删除单个图像。当心!这会递归地删除并且不会强制它,因此它可能是有风险的并且会删除您不想要的东西。最好只说 <code>rm</code>。</p>

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

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

<p>您似乎正在寻找以 <code>.xib</code> 或 <code>m</code> 结尾的文件。 <code> 查找 . -name '*.xib' -o -name '*.'</code> 语法好像没问题,但使用<a href="https://stackoverflow.com/q/5249779/1983854" rel="noreferrer noopener nofollow">regex in <code>find</code></a> 可能更好.</p>

<pre><code>find -type f -regex &#39;.*\.\(xib\|m|h\)&#39;
</code></pre>

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

<pre><code>while IFS= read -r png;
do
    # things with &#34;$png&#34;
done &lt; &lt;(find ...)
</code></pre>

<p>但我不会在这里提出任何其他建议,因为我并没有真正遵循这些 <code>.xib</code>、<code>.png</code> 文件的逻辑。如果你能展示一个例子,我会更新我的答案。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何从 Xcode 项目中删除未使用的图像?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33276734/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33276734/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何从 Xcode 项目中删除未使用的图像?