21

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

我想知道,有没有办法告诉 Xcode 中使用了哪些类文件?或有关如何查找未使用文件的任何提示?

4

7 回答 7

17

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

人们创建了脚本来尝试确定未使用的文件。我使用了位于此处的脚本,它搜索您的所有源文件,并尝试配对资源文件。该脚本还尝试检查项目中未包含的源文件。

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

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

于 2013-01-31T19:49:37.670 回答
11

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

于 2013-10-09T08:00:30.360 回答
4

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

于 2014-02-18T06:55:26.453 回答
4

此工具查找未使用的导入/类:fui

从自述文件页面:

查找未使用的 Objective-C 导入。

于 2016-07-28T07:59:00.110 回答
1

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

基本上,下面的 shell 脚本会查找png项目中未在任何文件中使用的所有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
于 2013-04-28T00:09:49.227 回答
0

Martiancraft 有一个名为 Slender 的应用程序,可以很好地推荐可能未使用的图像。

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

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

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

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

于 2017-03-15T07:49:34.117 回答
0

我今天花了很多时间来寻找工具,这在几个月前帮助了我很多。这里是: https ://github.com/peripheryapp/periphery

它可以在 Swift 代码中找到未使用的类、函数、属性等。

PS 它在 Github 上有超过 3000 颗星。所以奇怪的是这里没有列出。

于 2022-01-27T09:06:19.027 回答