libimobiledevice是一个开源的软件,它可以直接使用系统原生协议和IOS设备进行通信,类似iMazing,iTunes,libimobiledevice不依赖IOS的私有库,并且连接IOS设备时用的都是原生协议,IOS无需越狱就能实现设备信息的收集,文件备份等功能。
以下就是在Ubuntu2204上的安装步骤:
在开始安装之前先安装一下相关依赖包。
0.安装依赖
sudo apt update
sudo apt install \build-essential \pkg-config \checkinstall \git \autoconf \automake \libtool-bin \libplist-dev \libusbmuxd-dev \libssl-dev \usbmuxd
1.安装libplist
libplist是libimobiledevice必要依赖,虽然在安装依赖这一步中我们已经安装过libplist-dev
,但是通过ubuntu默认安装源安装的libplist版本无法满足libimobiledevice的需求,必须单独安装,否则会在安装libimobiledevice时会报错。
1.1 拉取源码
从github上拉取libplist的源码。
git clone https://github.com/libimobiledevice/libplist.git
cd libplist
🎶 如果安装过程中出现问题可以检查分支是否和我本文中描述的一致。
1.2编译安装
源码拉取之后,进入源码包,使用autogen.sh
命令进行自动配置,然后编译、安装。
./autogen.sh
make
sudo make install
2.安装libimobiledevice-glue-dev
安装libimobiledevice开发包,这里使用了一个胶水包,看来是为了解决原生libimobiledevice-dev
包不可用的问题。
2.1 拉取资源包
git clone https://github.com/libimobiledevice/libimobiledevice-glue.git
cd libimobiledevice-glue
2.2.自动编译
./autogen.sh
2.3 安装
make
make install
📟 当前使用的分支,如果你的程序无法正常运行请检查是否和我当前使用的分支相同。
3.安装libimobiledevice
3.1 拉取源码包
git clone https://github.com/libimobiledevice/libimobiledevice.git
3.2 编译安装
cd libimobiledevice
./autogen.sh
make
sudo make install
🎶 当前分支
4.连接手机验证
连接iphone手机,使用ideviceinfo
命令查看手机相关信息。
ideviceinfo
5.libimobiledevice命令
libimobiledevice,内置了以下命令。
命令 | 描述 |
---|---|
idevice_id | List attached devices or print device name of given device |
idevicebackup | Create or restore backup for devices (legacy) |
idevicebackup2 | Create or restore backups for devices running iOS 4 or later |
idevicebtlogger | Capture Bluetooth HCI traffic from a device (requires log profile) |
idevicecrashreport | Retrieve crash reports from a device |
idevicedate | Display the current date or set it on a device |
idevicedebug | Interact with the debugserver service of a device |
idevicedebugserverproxy | Proxy a debugserver connection from a device for remote debugging |
idevicediagnostics | Interact with the diagnostics interface of a device |
ideviceenterrecovery | Make a device enter recovery mode |
ideviceimagemounter | Mount disk images on the device |
ideviceinfo | Show information about a connected device |
idevicename | Display or set the device name |
idevicenotificationproxy | Post or observe notifications on a device |
idevicepair | Manage host pairings with devices and usbmuxd |
ideviceprovision | Manage provisioning profiles on a device |
idevicescreenshot | Gets a screenshot from the connected device |
idevicesetlocation | Simulate location on device |
idevicesyslog | Relay syslog of a connected device |
:ps 如果你的操作系统是AMD架构的,还需要手动安装libusbmuxd,否则会出现``No package ‘libusbmuxd-2.0’ found`以下是安装步骤。
安装libusbmuxd
git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd
./autogen.sh
make
sudo make install
执行完上述的安装步骤后,再进入libimobiledevice的安装。