导读 为了方便对linkMap做解析,参考zyangSir的iSee工程,做了linkMap文件解析的工具,欢迎使用。
iSee是一款分析iOS可执行文件成分的工具,通过加载XCode在项目编译期间产生的linkMap文件,能够输出项目中每个类(包括第三方静态库),在最终可执行文件中占用的长度信息。本工具根据zyangSir的代码做了部分修改。主要功能有:
- 各个可执行文件占用大小
- 可执行文件中,各个段占用的大小(包括方法+常量字符串等)
- 未使用到的类
- 未使用到的方法
建议使用真机生成的文件测试,目前看对arm64架构支持最好。优先使用arm64相关文件检测。
-
可以看到一个名为 项目名-LinkMap-normal-CPU架构.txt的文件,在iSee中点击linkMap文件按钮,导入这个文件
-
在上一步的Derived Data目录下,
-
在iSee中点击可执行文件,导入刚才的文件
-
之后程序会自动执行分析。
- 现在对arm64支持比较好,所以建议用这个格式测试。
- 对于未使用方法和未使用类,使用otool工具来做辅助分析
- 未使用方法和未使用类,有误报可能,主要误报的是一些实现协议的类,这一部分是动态使用的,所以静态分析不出来。
详细技术细节可以参考我的博客:
https://dishibolei.github.io/