在Xcode中查找未使用的文件

最近我开始了一个新的应用程序,这个应用程序基本上是我之前创build的一个应用程序的副本,只做了一些更改。 为了使这个新的应用程序,我复制了旧的应用程序,并删除了一些不需要的东西。

我想知道,有什么办法可以告诉哪些类文件正在Xcode中使用? 或者有关如何find未使用的文件的任何提示?

Xcode没有内置任何这样的function,但未使用的类/文件等问题并不像人们想象的那么简单。

人们已经创build了脚本来尝试和确定未使用的文件。 我已经使用位于这里的脚本 ,它search所有的源文件,并尝试配对资源文件。 该脚本还会尝试检查未包含在项目中的源文件。

它不那么微不足道的原因是Obj-C是一个非常dynamic的语言, 很多事情是在运行时确定的。 因此,静态地找出未使用的文件有时会非常棘手。 例如,根据用户input,图像名称可以在运行中确定。

我不知道你的应用程序有多大,但你可以尝试一个依赖关系图,并检查孤儿类。 有关更多信息,请参阅此博客文章 。

看到有用的工具。 用于检查未使用资源的Xcode项目的Mac应用程序http://jeffhodnett.github.io/Unused/

Jetbrains的AppCode IDE有一些非常不错的代码检测function。 它可以指出未使用的类和其他资源,并声称完全与Xcode兼容。

这个工具find未使用的import/类: fui 。

从README页面:

find未使用的Objective-C导入。

另请参阅此shell脚本http://mfaizanshaikh.wordpress.com/2012/12/17/how-to-remove-unused-images-from-xcode-project/

基本上是下面的shell脚本,find您的项目中没有在任何xib文件中使用的所有xib文件。 当然,如果你已经用其他方式(故事板,加载代码)使用png文件,这个脚本仍然会显示为未使用。
作为参考,我也粘贴在这里的脚本:

 #!/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 echo "$png is not referenced" fi done 

Martiancraft有一个名为“Slender”的应用程序,可以用来暗示可能未使用的图像。

http://martiancraft.com/products/slender.html

我相信Faux Pas会为类文件做类似的事情,但我会检查一下。 该应用程序也寻找未使用的方法,翻译和资源。

http://fauxpasapp.com/rules/#rule-UnusedResource

我最近没有使用过这两款应用程序,但是可以记得之前对这两款应用都印象深刻。