
deb文件格式作为Linux系统下的一种打包方式,目前已经被应用到Cydia的软件打包当中。简单来说,每天从Cydia商店中下载的软件都是以deb格式打包的。因此只要在电脑端下载好对应软件的deb格式包,就可以通过电脑为iOS设备安装软件了。建议借助第三方的同步软件(以iTools为例)安装:
1、手机连接到电脑上,打开iTools同步软件;找到文件系统-越狱系统,打开文件路径:/var/root/Media/Cydia/AutoInstall,将deb格式文件导入到该文件夹当中。
2、通过iTools找到deb文件的安装目录,然后导入deb格式文件;
3、这时候,需要重启iOS设备,重启后打开iOS设备上的Cydia商店,进入到管理—软件包就可以发现需要安装的deb文件已经被安装到手机上了。
4、注意:通过电脑连接手机安装deb文件有一定的风险性,导入时要找清楚对应的文件目录,不要随意安装第三方的deb文件。
当安装多个xcode的版本,使用该工具使用指定的版本。
-p 或者 --print-path 查看当前开发者目录,也即是xcode的版本目录。print the path of the active developer directory
-s <path> 或 --switch <path> 选择xcode的版本
--install 安装
--version 查看版本
--reset 恢复默认
sudo rm -rf /Library/Developer/CommandLineTools 强制删除安装目录下的文件
是管理Fat File的工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。
Mac OS X下二进制可执行文件的动态链接库是dylib文件。所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。
Linux下用 ldd 查看,苹果系统用 otool 。
otool命令介绍
MobSF
Mach-O 文件格式解析
xcodebuild :通过工程文件,生成app文件。
xcrun :通过app文件,来生成ipa文件(包含了签名的过程)。
通过app文件生成ipa文件
libtool是一个通用库支持脚本(/usr/bin/libtool),将使用动态库的复杂性隐藏在统一、可移植的接口中。
可以在不同平台上创建并调用动态库,我们可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节, 只要告诉libtool说我需要要编译哪些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。
libtool工具的使用
库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。
详细命令参见, 菜鸟网络-ar命令
可以用来创建、修改库,也可以从库中提出单个模块。
lipo libAFNetworking.a -thin arm64 -output lib-arm64.a 生成Arm64包
ar -t lib-arm64.a 输出包含的.o文件 和 otool -L libAFNetworking.a 一样。
ar -x lib-arm64.a 解压出包里面的.o文件
在iOS开发中,常常用来分析二进制和静态库文件。
列出 .o .a .so 中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。
iOS开发中,可以用来查看.a静态库所有打包进去的.o文件和函数接口信息,帮助我们定位崩溃信息。
例如: nm -u libAFNetworking.a 列出某个.o文件的接口信息。
二进制查看命令,将文件显示为16进制字符串表示形式。
例如: xxd libYTKNetwork.a | grep "net" 查看YTKNetwork.a文件里面包含net字符串的,帮助我们分析一些二进制文件。
DWARF文件初探——提取轻量符号表
Mac系统下lipo, ar, nm等工具的使用简介
美团 iOS 工程 zsource 命令背后的那些事儿
Linux工具参考篇
iOS 静态库冲突 两个不同的.o 文件冲突 ,静态库分离
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)