iPhone和iPad无论如何都不是开源的,但它们是流行的设备。许多拥有iOS设备的人也碰巧使用了很多开源软件,包括Linux。Windows和macOS用户可以使用苹果提供的软件与iOS设备通信,但苹果不支持Linux用户。开源程序员早在2007年(iPhone发布一年后)就借助 Libimobiledevice(当时称为libiphone)进行了尝试,Libimobiledevice 是一种用于与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
或者,你可以下载(https://github.com/libimobiledevice/libimobiledevice/)源文件并安装libimobiledevice。
连接你的设备
安装所需的软件包后,将iOS设备连接到计算机。
将目录作为iOS设备的装载点:
$ mkdir ~/iPhone
接下来,安装设备:
$ ifuse ~/iPhone
你的设备会提示你信任正在使用的计算机来访问它。

一旦信任问题解决后,你会在桌面上看到新图标:

单击iPhone图标以显示iPhone的文件结构:

我最常访问的文件夹是DCIM,我的iPhone照片存储在这里。有时我在我写的文章中使用这些照片,有时我想用开源应用程序(如Gimp)来处理这些照片。使用Libimobiledevice实用程序的好处之一是可以直接访问图像,而不是通过电子邮件发送给自己。我可以将这些文件夹复制到我的Linux计算机上。我可以在iPhone上创建文件夹并将其删除。
了解更多
Martin Szulecki是该项目的首席开发人员。该项目正在寻找开发者加入他们的社区。Libimobiledevice可以改变你使用外围设备的方式,无论你使用的是什么平台。这是开源的又一个胜利,这意味着它是每个人的胜利。
本文作者:Don Watkins,翻译:GLIU
原文地址:https://opensource.com/article/21/8/libimobiledevice-iphone-linux




