libimobiledevice是一个开源的软件,它可以直接使用系统原生协议和IOS设备进行通信,类似iMazing,iTunes,libimobiledevice不依赖IOS的私有库,并且连接IOS设备时用的都是原生协议,IOS无需越狱就能实现设备信息的收集,文件备份等功能。
以下就是在Ubuntu2204上的安装步骤:
在开始安装之前先安装一下相关依赖包。
sudo apt update
sudo apt install \
build-essential \
pkg-config \
checkinstall \
git \
autoconf \
automake \
libtool-bin \
libplist-dev \
libusbmuxd-dev \
libssl-dev \
usbmuxd
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
安装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.1 拉取源码包
git clone https://github.com/libimobiledevice/libimobiledevice.git
3.2 编译安装
cd libimobiledevice
./autogen.sh
make
sudo make install
连接iphone手机,使用ideviceinfo
命令查看手机相关信息。
ideviceinfo
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`以下是安装步骤。
git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd
./autogen.sh
make
sudo make install
执行完上述的安装步骤后,再进入libimobiledevice的安装。