• 主页
  • 随笔
  • 技术笔记
  • 全部文章
标签 友链 关于我

  • 主页
  • 随笔
  • 技术笔记
  • 全部文章

iOS强迫症的福音--优雅的删除项目中无用的图片资源

阅读数:次 2019-08-15
字数统计: 742字   |   阅读时长≈ 2分

随着产品的更迭,工程中的图片资源也在不断的更新换代。那么你是不是曾今为项目中的无用图片过多而脑阔疼?为一个个查找,删除这些图片而奔溃?你是不是有仰天长啸:神啊,告诉我如何优(yi)雅(jian)的删除项目中无用的资源吧?现在就让我来告诉你–FengNiao–一个删除Xcode工程中无用图片资源的神器!

1.啥是fengniao

FengNiao一个命令行工具,由iOS界的大神onevcat喵神使用swift开发并开源,github地址在这:github.com/onevcat/Fen…

更厉害的是,喵神开发第一版是code online的形式完成的。啥意思呢?喵神当年开了直播,现场开发这个工具,观众可以直接看到开发的整个过程,中间喵神也会一直讲解思路和开发技巧,当时没看到直播,感觉损失了一个亿,不过好在这个工具还一直在维护,造福着更多人。

2.咋安装

使用源码安装: 打开命令行,执行以下操作

git clone https://github.com/onevcat/FengNiao.git

cd FengNiao

./install.sh

等待一会之后,fengniao会自动编译安装到*/usr/local/bin*目录下,OK,安装完毕,是不是很简单。

3.咋使用

一、命令行操作 1.cd到你项目所在的文件目录 2.直接使用 fengniao 命令

avatar

如上图,fengniao会自动查找未使用的图片资源,并提供list(列表查看)、delete(直接删除)、ignore(忽略这些文件)三个命令,还可以使用fengniao -h 查看所有支持的命令

  fengniao --help

  -p, --project:
      Root path of your Xcode project. Default is current folder.
  --force:
      Delete the found unused files without asking.
  -e, --exclude:
      Exclude paths from search.
  -r, --resource-extensions:
      Resource file extensions need to be searched. Default is 'imageset jpg png gif pdf'
  -f, --file-extensions:
      In which types of files we should search for resource usage. Default is 'm mm swift xib storyboard'
  --version:
      Print version.
  -h, --help:
      Print this help message.

还有一种更常进行的操作,只查找当前工程中的图片,而不包括Pod和Carthage中的资源:

fengniao --project . --exclude Carthage Pods

二、加入到Xcode的编译过程 如果你想在每次编译的时候都检查一下是否有无用图片资源,并删除它们的话,也可以做到

avatar

需要在Build Phases中添加一项Run Script,脚本中添加如下内容:

fengniao --exclude Carthage Pods --force

注意:这个Run Script需要添加在”Copy Bundle Resources”前面,不然项目中的图片已经被编译进项目,不能再删除了。

四.啥原理

其实fengniao的原理还是比较简单的

1.在项目中的[“imageset”, “launchimage”, “appiconset”, “bundle”]这些文件夹下,查找[“imageset”, “jpg”, “png”, “gif”, “pdf”]这些类型的文件。

2.在项目中后缀为[“m”, “mm”, “swift”, “xib”, “storyboard”, “plist”]这些的文件中,查找第一步查找到的文件名,字符串匹配。

3.得到所有未使用的资源文件名,done

  • 本文作者: Grx
  • 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2019/08/15/iOS强迫症的福音--优雅的删除项目中无用的图片资源/
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
  • xcode

扫一扫,分享到微信

Mac系统本地搭建禅道
Mac环境下安装、配置cocos2d-x环境
  1. 1. 随着产品的更迭,工程中的图片资源也在不断的更新换代。那么你是不是曾今为项目中的无用图片过多而脑阔疼?为一个个查找,删除这些图片而奔溃?你是不是有仰天长啸:神啊,告诉我如何优(yi)雅(jian)的删除项目中无用的资源吧?现在就让我来告诉你–FengNiao–一个删除Xcode工程中无用图片资源的神器!
  • 1.啥是fengniao
    1. 1. FengNiao一个命令行工具,由iOS界的大神onevcat喵神使用swift开发并开源,github地址在这:github.com/onevcat/Fen…
  • 2.咋安装
    1. 1. 使用源码安装: 打开命令行,执行以下操作
    2. 2. 等待一会之后,fengniao会自动编译安装到*/usr/local/bin*目录下,OK,安装完毕,是不是很简单。
  • 3.咋使用
    1. 一、命令行操作 1.cd到你项目所在的文件目录 2.直接使用 fengniao 命令
      1. 1. 如上图,fengniao会自动查找未使用的图片资源,并提供list(列表查看)、delete(直接删除)、ignore(忽略这些文件)三个命令,还可以使用fengniao -h 查看所有支持的命令
      2. 2. 还有一种更常进行的操作,只查找当前工程中的图片,而不包括Pod和Carthage中的资源:
    2. 二、加入到Xcode的编译过程 如果你想在每次编译的时候都检查一下是否有无用图片资源,并删除它们的话,也可以做到
      1. 1. 需要在Build Phases中添加一项Run Script,脚本中添加如下内容:
  • 四.啥原理
    1. 1. 其实fengniao的原理还是比较简单的
    2. 2. 1.在项目中的[“imageset”, “launchimage”, “appiconset”, “bundle”]这些文件夹下,查找[“imageset”, “jpg”, “png”, “gif”, “pdf”]这些类型的文件。
    3. 3. 2.在项目中后缀为[“m”, “mm”, “swift”, “xib”, “storyboard”, “plist”]这些的文件中,查找第一步查找到的文件名,字符串匹配。
    4. 4. 3.得到所有未使用的资源文件名,done
  • © 2014-2024 Grx
    GitHub:hexo-theme-yilia-plus by Litten
    本站总访问量次 | 本站访客数人
    • 标签
    • 友链
    • 关于我

    tag:

    • life
    • OC
    • Google
    • Fastlane
    • Flutter
    • hexo
    • 智能家居
    • Apple Watch
    • 逆向
    • Lottie
    • PHP
    • cocos2d
    • Mac
    • MonkeyKing
    • RN
    • Swift
    • RAC
    • WKWebView
    • WebView
    • Xcode
    • xcode
    • ios
    • Android
    • appledoc
    • MMKV
    • LLVM
    • FreamWork






      
      

    • 唐巧的博客
    • 王巍(喵神)OneVsDen
    • 阿里“念纪“
    • 滴滴-戴铭
    • 郭曜源(ibireme)
    • 阿里”南栀倾寒“
    • 蘑菇街李忠
    • 码农人生
    • 玉令天下
    • bang
    • Ian的博客
    这里是Grx的个人博客:
    iOS开发工程师一枚
    联系方式:
    QQ:1217255509
    Email:grx0917@sina.com
    知识管理,时间管理,自我管理,架构即未来
    欢迎技术交流!