前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >检测iOS项目中未使用的方法检测iOS项目中未使用的方法

检测iOS项目中未使用的方法检测iOS项目中未使用的方法

作者头像
用户8893176
发布2021-08-09 11:09:39
3.6K0
发布2021-08-09 11:09:39
举报
文章被收录于专栏:小黑娃Henry小黑娃Henry

1、检查ObjectiveC项目中 未使用的方法

准备工作
  1. 已自己的项目为例,将工程进行build,后show in finder
  1. 显示包内容
  1. 找到Mach-O可执行文件

工具地址 https://github.com/nst/objc_cover 此脚本方法只能检测 OC 可能未使用的方法,不适用其他场景

开始检测
输出
  • 所有的未使用方法都会被列出,包含pod三方库中的方法;
原理

原理利用 Mach-O 文件的结构和展示内容: __TEXT:__objc_methname: 中包含了代码中的所有方法; __DATA__objc_selrefs:中则包含了所有被使用的方法的引用,通过取两个集合的差集就可以得到所有未被使用的代码.

Mach-o内部结构

问题:

如果在执行过程中出现can't find implemented methods

  • 由于正则表达式的一些问题造成的,可以将objc_cover.py中的:
代码语言:javascript
复制
re_sig_sel_ios = re.compile("\s*imp 0x\w+ ([+|-]\[.+\s(.+)\])")

更换为即可解决问题

代码语言:javascript
复制
re_sig_sel_ios = re.compile("\s*imp\s*0x\w+ ([+|-]\[.+\s(.+)\])")

2、检查Swift项目中未使用的方法、属性、类

工具地址 https://github.com/zColdWater/swift-scripts 此脚本方法只能检测 swift 可能未使用的方法、属性、类

开始检测
代码语言:javascript
复制
1. cd <项目根目录>
2. 将unused.rb脚本文件本地路径填入终端, 或者直接将 unused.rb 拖拽至终端。

例如:

输出
Xcode 集成

*工具本地路径(建议将工具放入工程根目录)+xcode即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/7/10 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、检查ObjectiveC项目中 未使用的方法
    • 准备工作
      • 开始检测
        • 输出
          • 原理
            • 问题:
            • 2、检查Swift项目中未使用的方法、属性、类
              • 开始检测
                • 输出
                  • Xcode 集成
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档