重视我,每天共享一个关于 iOS 的新知识

前语

在 App 开发中,图画是最常见的资源文件类型,跟着版别的迭代,某些功用删去后,涉及到的图片资源往往也不再需求了,这时候就需求及时整理掉,否则可能导致装置包变大。因此,了解怎么整理 Xcode 资源十分有用。

今日就来讲讲怎么优雅的整理 Xcode 中不运用的图片资源文件。

FengNiao

FengNiao 是闻名的 iOS 开发者喵神的开源库,基本上是用纯 swift 写的一个指令行工具,用于从 Xcode 项目中删去未运用的图画资源文件。

1、装置

装置方法支撑 Mint 和源码两种方法,如果运用 Mint,需求先运用 HomeBrew 装置 Mint,再用 Mint 装置 fengniao,在终端运转下边两条指令:

brew install mint # 装置 mint
mint install onevcat/fengniao # 装置 fengniao

运用源码方法装置则需求先把代码库克隆下载,再用 swift 指令构建,在终端运转下边指令:

git clone https://github.com/onevcat/FengNiao.git # 克隆源码仓库
cd FengNiao  # 翻开源码文件夹
swift build -c release # 构建
# 最后拷贝可履行文件到你的 PATH,比如 `/usr/local/bin`
sudo cp .build/release/FengNiao /usr/local/bin/fengniao

2、用法

首要在终端导航到你的工程目录,然后履行 fengniao 指令即可:

cd 【你的工程目录】
fengniao # 履行

fengniao 指令将扫描当时文件夹及其所有子文件夹以查找未运用的图画,然后询问您是否要删去它们。在删去图画之前,请确保您有备份或版别控制系统,这将是一个不行恢复的操作。

fengniao 指令还支撑一些可选参数,在终端运用 fengniao --help 指令能够看到全部运用方法。

> fengniao --help
  -p, --project:
      Xcode项目的根途径。默认为当时文件夹。
  --force:
      不询问直接删去不需求的文件。
  -e, --exclude:
      扫除查找途径,一般需求把 Carthage、Pods 等这些第三方库扫除去。
  -r, --resource-extensions:
      需求查找资源文件扩展名。默认为“imageset jpg png gif pdf”
  -f, --file-extensions:
      在哪些类型的文件中查找资源运用情况。默认是'm mm swift xib storyboard'
  --skip-proj-reference:
      越过项目文件(.pbxproj)引用整理。如果越过它,项目文件将坚持不变。如果您试图构建多个具有依靠关系的项目,并在编译时坚持.pbxproj不变,则可能期望越过此过程。
  --version:
      打印 fengniao 的版别号。
  -h, --help:
      打印 fengniao 的协助信息.

一般来说,Pods 和 Carthage 文件夹是不需求检查的,由于这儿寄存的都是第三方库,那么能够用 --exclude 参数来扫除:

fengniao --project . --exclude Carthage Pods

3、与 Xcode 构建配合运用

除了上边的指令行方法,也能够通过集成到 Xcode 中,每次 build 项目时自动履行,首要来到项目的 Build Phases 中,点击加号新建 Run Script Phase:

iOS 装置包优化之整理未运用的资源

然后在内容编辑器中增加代码:

fengniao --exclude Carthage --force

关于 FengNiao 的更多内容,能够到其官方 GitHub 上查看。

LSUnusedResources

LSUnusedResources 是一款 Mac 应用程序,它的功用与 FengNiao 完全相同:整理未运用的图画和资源。它也是开源的。

用法

首要下载源码或许 app,翻开之后点击 Browse.. 按钮选择项目文件夹:

iOS 装置包优化之整理未运用的资源

然后点击 Search 按钮开端查找,等待一瞬间,下边将会呈现成果,然后将成果中的图片删去即可。

参考资料

[1]

FengNiao: github.com/onevcat/Fen…

[2]

LSUnusedResources: github.com/tinymind/LS…

这儿每天共享一个 iOS 的新知识,快来重视我吧

本文同步自微信大众号 “iOS新知”,每天按时共享一个新知识,这儿仅仅同步,想要及时学到就来重视我吧!