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

你可能感兴趣的:(iOS找到SDK分类)