ネイティブプロトコルを使用してiOSデバイスのサービスと通信するライブラリ。
libimobiledeviceは、iOSデバイスと対話するプロトコルを伝えるクロスプラットフォームソフトウェアライブラリです。
他のプロジェクトとは異なり、既存の独自のライブラリの使用に依存せず、ジェイルブレイクを必要としません。
いくつかの重要な機能は次のとおりです。
多くのデバイスサービスプロトコルの実装されたインターフェイスにより、アプリケーションは以下を可能にします。
...そしてもっと。
ライブラリは2007年8月から開発中に、Linuxデスクトップにこれらのデバイスのサポートを提供することを目標としています。
最初に必要なすべての依存関係をインストールし、ツールをビルドします。
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libusbmuxd-dev
libimobiledevice-glue-dev
libtatsu-dev
libssl-dev
usbmuxd注:Libtatsu(したがってlibtatsu-dev )は、最近公開されたばかりの新しいライブラリであり、ソースからそれを構築する必要があります。
オプションでドキュメントまたはPythonバインディングを作成する場合は、以下を使用します。
sudo apt-get install
doxygen
cython次に、実際のプロジェクトリポジトリをクローンします。
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledeviceこれで、構築してインストールできます。
./autogen.sh
make
sudo make installカスタムプレフィックスまたはその他のオプションが./configureに渡される必要がある場合は./autogen.shに直接渡すことができます。
./autogen.sh --prefix=/opt/local --enable-debug
make
sudo make installデフォルトでは、OpenSSLはTLS/SSLライブラリとして使用されます。 gnutlsを好む場合は、次のような--with-gnutlsで構成します。
./autogen.sh --with-gnutls MBEDTLSもサポートされており、 --with-mbedtls渡すことで構成することで有効にすることができます。 MBEDTLSがデフォルトの場所にインストールされていない場合、MBEDTLSヘッダーとmbedtls_LIBDIRを含むパスに環境変数mbedtls_INCLUDESを設定してライブラリパスを設定する必要があります。オプションで、 mbedtls_LIBSを使用してライブラリ名を直接設定できます。例:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/libアプリケーションでライブラリの使用に関するドキュメントはまだ利用できません。今のところ「ハッカーウェイ」は、付属のユーティリティの実装を調べることです。
ライブラリは、ツールディレクトリ内の次のコマンドラインユーティリティをバンドルします。
| ユーティリティ | 説明 |
|---|---|
idevice_id | 添付のデバイスまたは指定されたデバイスのデバイス名をリストする |
idevicebackup | デバイスのバックアップを作成または復元する(レガシー) |
idevicebackup2 | iOS 4以降を実行しているデバイスのバックアップを作成または復元する |
idevicebtlogger | デバイスからBluetooth HCIトラフィックをキャプチャします(ログプロファイルが必要です) |
idevicecrashreport | デバイスからクラッシュレポートを取得します |
idevicedate | 現在の日付を表示するか、デバイスに設定します |
idevicedebug | デバイスのデバッグサーバーサービスと対話します |
idevicedebugserverproxy | リモートデバッグ用のデバイスからのデバッグサーバー接続をプロキシ |
idevicediagnostics | デバイスの診断インターフェイスと対話します |
ideviceenterrecovery | デバイスをリカバリモードに入力します |
ideviceimagemounter | デバイスにディスク画像をマウントします |
ideviceinfo | 接続されたデバイスに関する情報を表示します |
idevicename | デバイス名を表示または設定します |
idevicenotificationproxy | デバイスに通知を投稿または観察します |
idevicepair | デバイスとUSBMUXDでホストのペアリングを管理します |
ideviceprovision | デバイス上のプロビジョニングプロファイルを管理します |
idevicescreenshot | 接続されたデバイスからスクリーンショットを取得します |
idevicesetlocation | デバイス上の場所をシミュレートします |
idevicesyslog | 接続されたデバイスのsyslogをリレーします |
afcclient | AFC/Housearrestを介してデバイスファイルシステムと対話します |
利用可能なコマンドラインオプションとこのような使用例のドキュメントについては、各ユーティリティの使用情報またはマニュアルページを参照してください。
ideviceinfo --help
man ideviceinfo誰からでも貢献を歓迎し、すべてのプルリクエストに感謝しています!
貢献したい場合は、 masterブランチ、変更、コミット、およびレビューのプルリクエストを送信してください。承認されると、メインコードベースにマージできます。
より大きな変更または主要なリファクタリングを提供する予定がある場合は、最初にチケットを作成して、すべての人の労力を少なくするためにアイデアを前もって議論してください。
あなたの貢献が次のことを順守することを確認してください
私たちはまだガイドラインに取り組んでいるので、私たちと一緒に我慢してください!
このライブラリとユーティリティは、 COPYINGファイルのリポジトリにも含まれているGNU以下の一般公開ライセンスv2.1に基づいてライセンスされています。
Apple、iPhone、iPad、iPod、iPod Touch、Apple TV、Apple Watch、Mac、iOS、iPados、TVOS、WatchOS、およびMacOSはApple Incの商標です。
このプロジェクトは独立したソフトウェアであり、Apple Inc.によって認可されたり、後援されたり、その他の方法で承認されたりしていません。
README更新:2024-10-22