2016 - 2024

感恩一路有你

如何删除iOS工程里未使用的图片

浏览量:2435 时间:2024-08-05 11:23:23 作者:采采

一个普通的iOS工程经历了多次改版之后,往往就会存在许多废弃不用的图片没有删除掉,它们的存在会使iOS工程的体积大大增加。如果清除掉这些图片,就能让ipa包的体积大大缩减,起到瘦身的效果。一个普通的iOS工程会有大约三分之一的图片是未使用的,所以清理这些图片还是非常有必要的。

iOS项目的目录结构

一般情况下,iOS项目的目录结构大致如下图所示:

```

├─ Classes

│ ├─ Model

│ ├─ View

│ └─ Controller

├─ Resources

│ ├─ Images.xcassets

│ │ ├─

│ │ ├─

│ │ └─ ...

│ └─ ...

└─ ...

```

安装Silver Searcher

首先我们要安装Silver Searcher。在Linux系统里可以使用ack-grep来进行搜索内容,但是mac系统里并没有ack-grep怎么办呢?其实我们可以在mac系统中安装Silver Searcher来进行搜索字符串,使用的方法和ack-grep相似,而且搜索的速度比ack-grep还要快。方法是打开终端,输入以下命令安装:

```

brew install the_silver_searcher

```

搜索未使用的图片

iOS的图片分为标清和高清两种,所以搜索时就要先把"@2x"去掉。因为高清的图片名字是以"@2x"结尾的,一般的代码里并不会写上"@2x"。如果搜索到的结果为空字符串,说明代码里并没有引用该图片。

保存未使用的图片名

获取到的所有未使用的图片名,经过排序后保存到一个txt文件里。为什么把文件名保存早一个文本文档里而不是直接执行代码呢?目的为了先确认一下是否有误搜到的图片。比如搜到了这几张未使用的图片:

```

```

手动确认图片是否被使用

看下面代码可以知道这几个图片实际上是用到了的,可是搜索到的未使用图片却有它们。所以要看文本里的图片名有没有含有连续数字,有的话要再手动搜索一下代码,进一步确定图片是否被使用。

删除未使用的图片

接下来我们就可以用Python代码读取txt文档的内容,将里面的图片删掉。可以使用os模块遍历图片文件夹,并通过文件名判断是否应该删除该图片。在删除之前,最好备份一份未使用图片的文件夹,在删除后可以对比一下文件夹大小,确保删除操作正确无误。

以上是如何删除iOS工程里未使用的图片的方法,希望对你有所帮助。清理未使用的图片可以有效减小iOS工程的体积,提高应用的性能和加载速度。记得在操作前备份重要文件,以免不小心删除了需要使用的图片。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。