iOS找到SDK分类

前提是符号还在,正常默认是在的

使用

sh find_category.sh xxx.a
sh find_category.sh xxx.framework/xxx

执行后找到category.txt文件

find_category.sh脚本

#包路径
file_path=$1
#解包文件名,生成文件nm.temp
temp_output_nm="nm.temp"
#删除解包文件中一些多余的,生成文件nm_delete.temp
temp_output_nm_delete="nm_delete.temp"
#生成找到的分类文件category.txt
output_category="category.txt"

#执行解包
nm -j $file_path > $temp_output_nm

#删除一些没用的
cp $temp_output_nm $temp_output_nm_delete
filename=$temp_output_nm_delete
sed -i "" "/_OBJC/d" $filename
sed -i "" "/ltmp/d" $filename
sed -i "" "/lCPI/d" $filename
sed -i "" "/lJTI/d" $filename
sed -i "" "/GCC_except/d" $filename
sed -i "" "/l_.str/d" $filename
sed -i "" "/l__unnamed_/d" $filename
sed -i "" "/___/d" $filename
sed -i "" "/_objc_/d" $filename

#找到分类
grep "(*[-|+].*)" $temp_output_nm_delete > $output_category

#删除临时文件
#rm $temp_output_nm
#rm $temp_output_nm_delete
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装包组成: 谈到 App 瘦身,最直接的想法莫过于分析一个安装包内部结构,了解其每一部分的来源。解压一个 ipa...
    孔雨露阅读 8,700评论 1 7
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,942评论 1 180
  • 基本概念及操作 常用快捷键 常用通配符 所有的手册页遵循一个常见的布局,为了通过简单的 ASCII 文本展示而被优...
    Jachin111阅读 1,625评论 0 1
  • 本文笔记源自这里——[实验楼]欢迎大家在下面交流其中有问题的地方喜欢请点收藏,每日更新(全部已亲自实践). 一. ...
    东皇Amrzs阅读 9,525评论 7 54
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 14,146评论 3 42