iOS
関連記事
iOS は、Apple Inc.が開発した iPhone シリーズのスマートフォン向け OS です。 iOS デバイスを Linux に接続することは Apple によってサポートされていませんが、libimobiledevice プロジェクトは、iOS デバイスと Linux マシン間で接続してデータを転送するためのライブラリとツールを提供します。
目次
インストール
libimobiledevice パッケージをインストールします。
デバイスへの接続
Usbmux デーモン
libimobiledevice パッケージは usbmuxd に依存しており、iOS デバイスへの低レベル接続を実行します。usbmuxd パッケージには、デバイスが接続または切断されるたびにデーモンを自動的に開始および停止する udev ルールも含まれています。
iOS デバイスを接続し、usbmuxd.service
が自動的に開始されることを確認します。
$ systemctl status usbmuxd.service
... Active: active (running) since Sun 2020-01-19 19:23:18 UTC; 22s ago ...
ペアリング
iOS デバイスを接続して画面のロックを解除すると、デバイス上のポップアップで「このコンピューターを信頼しますか?」というメッセージが表示されます。 [信頼する] をタップし、デバイスのパスコードを入力してペアリングプロセスを完了します。
ポップアップが表示されない場合は、ペアリングプロセスを手動で開始できます。デバイスを接続し、画面のロックを解除して実行します。
$ idevicepair pair
SUCCESS: Paired with device d8e8fca2dc0f896fd7cb4cb0031ba249
複数の iOS デバイスが接続されている場合、--udid ios_udid
パラメータをターゲットの特定のデバイスに渡すことができます。
次のコマンドを実行して、ペアリングが成功したことを確認できます。
$ idevicepair validate
SUCCESS: Validated pairing with device 00008030-001D3562367A402E
データ転送
ペアリング後、iOS は 2 つの異なるファイルシステムをコンピューターに公開します。 1 つは、デバイスの写真、ビデオ、および音楽を含むメディア ファイル システムです。 2 番目のファイルシステムは、ファイルを特定のアプリと直接共有するために使用されます。これは「iTunes ドキュメント共有」と呼ばれることもあります。 [1] [2]
グラフィカルファイルマネージャーの使用
GVFS を使用するファイル マネージャーは、iOS デバイスとやり取りできます。メディアファイルシステムにアクセスするには、gvfs-gphoto2をインストールします。アプリ文書ファイルシステムにアクセスするには、gvfs-afc をインストールします。
Dolphin を使用して iOS ファイルにアクセスするには、solid-gitAUR と kio-extras-gitAUR をインストールします。これにより、メディアとアプリ ドキュメントの両方のファイル システムが公開されます。 [3]
手動でマウント
ifuse パッケージをインストールします。次に、以下のコマンドを実行して、iPhone のメディアファイルシステムをマウントします。
$ ifuse mountpoint
これを使用して、mountpoint/DCIM
内のデバイスの写真にアクセスできます。
アプリの文書ファイルシステムにアクセスするには、まずアプリを識別する必要があります。
$ ifuse --list-apps
"CFBundleIdentifier","CFBundleVersion","CFBundleDisplayName" "org.videolan.vlc-ios","432","VLC" "org.wikimedia.wikipedia","1932","Wikipedia" "org.kde.kdeconnect","2","KDE Connect" [...]
その後、以下を使用してアプリケーションのファイルをマウントできます。
$ ifuse --documents APPID mountpoint
APPID は org.videolan.vlc-ios
などの目的のアプリケーションのバンドル ID です。
完了したら、ファイルシステムをアンマウントします。
$ fusermount -u mountpoint
Importing videos and pictures
Both videos and photos can be found in typically in <mountpoint>/DCIM/100APPLE
.
HTML5 videos
Typically you want to convert MOV files to a HTML5 video format like OGV using ffmpeg2theora. Note that the creation date metadata is not in the converted video, so you need to use a script like:
#!/usr/bin/sh find -name "*.MOV" | while read mov do d=$(gst-discoverer-1.0 -v $mov | awk '/datetime:/{print $2}' | tr -d \") base=${mov%.*} if test -f $base.ogv then touch -d${d} $base.ogv ls -l $base.ogv else echo $base.ogv missing fi done
And use cp -a
or rsync -t
in order to preserve the file's date & time.
Troubleshooting
ifuse fails to mount application directories
When using ifuse to mount application directories, you may run into the following error when trying to list the contents of the mountpoint:
".": Input/output error (os error 5)
This is a known issue that has been fixed in the current development version of libimobiledevice, but has not been released in a stable version yet. A workaround is to install libimobiledevice-gitAUR.
Device cannot be redirected to a virtual machine
If you use a Windows virtual machine to sync your device via USB, trying to redirect it may fail with a "device is in use by another application" message. This is due to usbmuxd.service
starting automatically when the device is connected. This can be solved by either stopping or masking usbmuxd.service
.
See also
- Ubuntu documentation for iPhone and iPod Touch (not updated since 2014)
- Apple trailers downloader script[リンク切れ 2020-03-29]