DUICUO

このオープンソースツールを使ってLinux上でiPhoneにアクセスする

[[420597]]

Libimobiledevice を使用して Linux から iOS デバイスと通信します。

iPhoneとiPadは決してオープンソースではありませんが、人気のデバイスです。多くのiOSユーザーは、Linuxを含む多くのオープンソースソフトウェアも利用しています。WindowsとmacOSユーザーはAppleが提供するソフトウェアを使用してiOSデバイスと通信できますが、AppleはLinuxユーザーをサポートしていません。オープンソースプログラマーたちは、2007年(iPhone発売からわずか1年後)に、iOSと通信するためのクロスプラットフォームソリューションであるLibimobiledevice(当時はlibiphoneと呼ばれていました)で事態を収拾しました。Libimobiledeviceは、Linux、Android、Armシステム(Raspberry Piなど)、Windows、さらにはmacOSでも動作しました。

LibimobiledeviceはC言語で記述されており、ネイティブプロトコルを使用してiOSデバイス上で実行されるサービスと通信します。Appleライブラリを一切必要としないため、完全に無料でオープンソースです。

Libimobiledevice は、多くの便利な端末ツールをバンドルしたオブジェクト指向APIです。このライブラリは、AppleのiOSデバイスの初期モデルから最新モデルまでをサポートしています。これは長年の研究開発の成果です。このプロジェクトのアプリケーションには、 usbmuxdideviceinstalleridevicerestoreifuselibusbmuxdlibplistlibirecoverylibideviceactivationなどがあります。

LinuxにLibimobiledeviceをインストールする

Linuxでは、 libimobiledeviceデフォルトでインストールされている可能性があります。パッケージマネージャーやアプリストア、あるいはプロジェクトに含まれるコマンドを実行することで見つけることができます。

  1. $ ifuse -- help

libimobiledeviceパッケージマネージャーを使ってインストールできます。例えば、Fedora または CentOS の場合:

  1. $ sudo dnf install libimobiledevice ifuse usbmuxd

Debian および Ubuntu の場合:

  1. $ sudo apt install usbmuxd libimobiledevice6 libimobiledevice - utils

あるいは、ソース コードからlibimobiledeviceダウンロードしてインストールすることもできます。

デバイスを接続する

必要なソフトウェア パッケージをインストールしたら、iOS デバイスをコンピューターに接続します。

iOS デバイスのディレクトリをマウント ポイントとして作成します。

  1. $ mkdir ~/ iPhone

次に、機器を取り付けます。

  1. $ ifuse ~/ iPhone

デバイスにアクセスするために使用したコンピューターを信頼するかどうかを確認するメッセージが表示されます。

図 1: iPhone はコンピュータを信頼するように要求します。

信頼の問題が解決されると、デスクトップに新しいアイコンが表示されます。

図 2: 新しい iPhone アイコンがホーム画面に表示されます。

「iPhone」アイコンをタップすると、iPhone のフォルダ構造が表示されます。

図3はiPhoneのフォルダ構造を示しています。

最も頻繁にアクセスするフォルダはDCIMで、iPhoneの写真を保存しています。記事を書く際にこれらの写真を使うこともありますし、GIMPなどのオープンソースアプリケーションを使って加工したい場合もあります。これらの画像をメールで送ってもらうのではなく、直接アクセスできるのは、 libimobiledeviceツールを使うメリットの一つです。これらのフォルダはどれもLinuxコンピュータにコピーできます。iPhone上でフォルダを作成したり削除したりすることも可能です。

詳細を見る

Martin Szulecki氏がこのプロジェクトのリード開発者です。このプロジェクトは、コミュニティに参加する開発者を募集しています。Libimobiledeviceは、プラットフォームを問わず、周辺機器の使い方を変えることができます。これはオープンソースにとっての新たな勝利であり、つまり、すべての人にとっての勝利です。