iOS开发中常用的命令工具(xcode-select、lipo、xcrun等。)
-p或者- print-path查看当前开发者目录,也就是xcode的版本目录。打印活动开发人员目录的路径
-s & lt;路径& gt或开关
-安装安装
-版本视图版本
-重置为默认值。
sudor um-RF/library/developer/command line tools强制删除安装目录中的文件。
是一个管理Fat文件的工具,可以查看cpu架构,提取具体架构,集成和拆分库文件。
Mac OS X下二进制可执行文件的动态链接库是dylib文件。所谓的dylib就是一个bsd风格的动态库。基本上可以认为相当于windows的dll和linux的so。Mac基于bsd,所以也用dylib。
Ldd用于Linux下查看,otool用于苹果系统。
otool命令简介
MobSF
Mach-O文件格式分析
Xcodebuild:通过工程文件生成app文件。
Xcrun:通过app文件生成ipa文件(包括签名的过程)。
通过app文件生成ipa文件
Libtool是一个通用的库支持脚本(/usr/bin/libtool),它在一个统一的可移植的接口中隐藏了使用动态库的复杂性。
动态库可以在不同的平台上创建和调用。我们可以认为libtool是gcc的一个抽象,也就是它包装了gcc或者其他任何编译器。用户不需要知道细节,只需要告诉libtool我需要编译哪些库,它只处理libtool文件,比如后缀为lo和la的文件。
libtool工具的使用
库是一个单独的文件,它包含根据特定结构组织的其他文件(称为该库文件的成员)。原始文件的内容、模式、时间戳、所有者、组等属性都保存在库文件中。
详细命令见“菜鸟网络-ar命令”。
可以用来创建、修改库,或者可以从库中提出单个模块。
lipolibabnetworking . a-thinArm64-output lib-arm 64 . a生成arm 64包。
ar -t lib-arm64.a的输出包含同样的内容。o文件为otool -L libAFNetworking.a
Ar -x lib-arm64.a解压。包中的o文件。
在iOS的开发中,经常用来分析二进制和静态库文件。
列出中的符号信息。o .a .so,包括符号的值、类型和名称。所谓符号,通常指的是定义好的函数,全局变量等等。
在iOS的开发中,可以用来查看所有打包的。o文件和函数接口信息。一个静态库,帮助我们定位崩溃信息。
例如,nm -u libAFNetworking.a列出了an的接口信息。o档。
binary view命令将文件显示为16二进制字符串表示形式。
例如:xxd libYTKNetwork.a | grep " net "查看YTKNetwork.a文件,其中包含net字符串,可以帮助我们分析一些二进制文件。
DWARF文件初探——提取轻量级符号表
Mac系统下lipo、ar、nm等工具的使用简介
美团iOS项目zsource命令背后的那些事
Linux工具参考文章
iOS静态库与两个不同的。o文件,静态库是分开的。