iPhone和iPad决不是开源的,但它们是流行的设备。许多拥有iOS设备的人恰好也使用大量的开放源代码,包括Linux。Windows和macOS的用户可以通过使用苹果提供的软件与iOS设备进行通信,但苹果并不支持Linux用户。开源程序员早在2007年(就在iPhone发布一年后)就以Libimobiledevice(当时叫libiphone)来拯救了人们,这是一个与iOS通信的跨平台解决方案。它可以在Linux、Android、Arm系统(如Raspberry Pi)、Windows、甚至macOS上运行。
Libimobiledevice是用C语言编写的,使用本地协议与运行在iOS设备上的服务通信。它不需要苹果公司的任何库,所以它是完全免费和开源的。
Libimobiledevice是一个面向对象的API,有许多终端工具与它捆绑在一起,为你提供方便。该库支持苹果最早的iOS设备,一直到其最新的型号。这是多年来研究和开发的结果。该项目中的应用程序包括usbmuxd、ideviceinstaller、idevicerestore、ifuse、libusbmuxd、libplist、libirecovery和libideviceactivation。
在 Linux 上安装 Libimobiledevice
在 Linux 上,你可能已经默认安装了libimobiledevice。你可以通过你的软件包管理器或应用程序商店,或通过运行项目中的一个命令来了解。
$ ifuse --help
你可以用你的软件包管理器安装libimobiledevice。例如,在Fedora或CentOS上。
$ sudo dnf install libimobiledevice ifuse usbmuxd
在 Debian 和 Ubuntu 上。
$ sudo apt install usbmuxd libimobiledevice6 libimobiledevice-utils
或者,你可以从源代码下载并安装libimobiledevice。
连接你的设备
一旦你安装了所需的软件包,将你的iOS设备连接到你的电脑。
为你的iOS设备建立一个目录作为挂载点。
$ mkdir ~/iPhone
接下来,挂载设备。
$ ifuse ~/iPhone
你的设备会提示你信任你所使用的电脑来访问它。

图1:iPhone提示你要信任电脑。
一旦信任问题得到解决,你会在桌面上看到新的图标。

图2:iPhone的新图标出现在桌面上。
点击iPhone的图标,可以看到iPhone的文件夹结构。
![]()
图3:显示了iPhone的文件夹结构。
我通常最常访问的文件夹是DCIM,那里存放着我的iPhone照片。有时我在写文章时使用这些照片,有时有一些照片我想用Gimp等开放源码应用程序来增强。可以直接访问这些图片,而不是把它们通过电子邮件发给自己,这是使用Libimobiledevice工具的好处之一。我可以把这些文件夹中的任何一个复制到我的Linux电脑上。我也可以在iPhone上创建文件夹并删除它们。