From a92b1ce22c7bf8bba429bd3714a75f569a701441 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 17 Jun 2025 00:15:46 +0200 Subject: [PATCH 1/5] README: Explain that the `usbmuxd` project is only needed on Linux It might be unclear to some users whether `usbmuxd` is referring to the `libimobiledevice/usbmuxd` project to provide this service on Linux, or the service "in general" in the way iTunes provides it on Windows via `AppleMobileDeviceService` or on MacOS X. Explain more clearly that this project is only required on Linux. --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cc52f51..219e594 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - [License](#license) - [Credits](#credits) -## Features +## Overview This project is a client library to multiplex connections from and to iOS devices alongside command-line utilities. @@ -28,15 +28,11 @@ It is primarily used by applications which use the [libimobiledevice](https://gi library to communicate with services running on iOS devices. The library does not establish a direct connection with a device but requires -connecting to a socket provided by the usbmuxd daemon. +connecting to a socket provided by the `usbmuxd` daemon. -The usbmuxd daemon is running upon installing iTunes on Windows and Mac OS X. +On Windows and Mac OS X, the `usbmuxd` daemon is provided by iTunes upon installing. For Linux, the [libimobiledevice project](https://github.com/libimobiledevice/) provides an open-source reimplementation of the [usbmuxd daemon](https://github.com/libimobiledevice/usbmuxd.git/) to use on Linux or as an alternative to communicate with iOS devices. -The [libimobiledevice project](https://github.com/libimobiledevice/) provides an open-source reimplementation of -the [usbmuxd daemon](https://github.com/libimobiledevice/usbmuxd.git/) to use on Linux or as an alternative to communicate with -iOS devices without the need to install iTunes. - -Some key features are: +## Key features - **Protocol:** Provides an interface to handle the usbmux protocol - **Port Proxy:** Provides the `iproxy` utility to proxy ports to the device From a724c8a8b8c78d9959c6274502907ffb43ffe46a Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 17 Jun 2025 00:16:41 +0200 Subject: [PATCH 2/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 219e594..9facbe2 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ available. This project uses autotools for the build process, allowing to have common build steps across different platforms. Only the prerequisites differ and they are described in this section. -libusbmuxd requires [libplist](https://github.com/libimobiledevice/libplist) and [libimobiledevice-glue](https://github.com/libimobiledevice/libimobiledevice-glue). On Linux, it also requires [usbmuxd](https://github.com/libimobiledevice/usbmuxd) installed on the system, while macOS has its own copy and on Windows AppleMobileDeviceSupport package provides it. +libusbmuxd requires [libplist](https://github.com/libimobiledevice/libplist) and [libimobiledevice-glue](https://github.com/libimobiledevice/libimobiledevice-glue). On Linux, it also requires [usbmuxd](https://github.com/libimobiledevice/usbmuxd) installed on the system, while macOS has its own copy and on Windows [AppleMobileDeviceSupport](TODO link) package provides it. Check [libplist's Building](https://github.com/libimobiledevice/libplist?tab=readme-ov-file#building) and [libimobiledevice-glue's Building](https://github.com/libimobiledevice/libimobiledevice-glue?tab=readme-ov-file#building) section of the respective README on how to build them. Note that some platforms might have them as a package. From fe942c36ddfedf34bda5c711e798fb000f429311 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 17 Jun 2025 14:34:01 +0200 Subject: [PATCH 3/5] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9facbe2..38f577a 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ section of the respective README on how to build them. Note that some platforms libimobiledevice-glue-dev \ usbmuxd ``` - In case libplist-dev, libimobiledevice-glue-dev, or usbmuxd are not available, you can manually build and install them. See note above. + In case `libplist-dev`, `libimobiledevice-glue-dev`, or `usbmuxd` are not available, you can manually build and install them. See note above. #### macOS @@ -91,6 +91,7 @@ section of the respective README on how to build them. Note that some platforms #### Windows +* Make sure iTunes is installed, which provides the `usbmuxd` service. * Using [MSYS2](https://www.msys2.org/) is the official way of compiling this project on Windows. Download the MSYS2 installer and follow the installation steps. From ab88bf2f988ce59c762ed27f0a89171b9e4e765d Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Wed, 18 Jun 2025 14:44:02 +0200 Subject: [PATCH 4/5] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 38f577a..086c99d 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,11 @@ available. This project uses autotools for the build process, allowing to have common build steps across different platforms. Only the prerequisites differ and they are described in this section. -libusbmuxd requires [libplist](https://github.com/libimobiledevice/libplist) and [libimobiledevice-glue](https://github.com/libimobiledevice/libimobiledevice-glue). On Linux, it also requires [usbmuxd](https://github.com/libimobiledevice/usbmuxd) installed on the system, while macOS has its own copy and on Windows [AppleMobileDeviceSupport](TODO link) package provides it. +`libusbmuxd` requires [libplist](https://github.com/libimobiledevice/libplist) and [libimobiledevice-glue](https://github.com/libimobiledevice/libimobiledevice-glue). + +- On Linux it also requires [usbmuxd](https://github.com/libimobiledevice/usbmuxd) to be installed and running on the system. +- On macOS this service is already provided by the operating system. +- On Windows [the Apple Mobile Device Service](https://support.apple.com/102347) is automatically provided when iTunes is installed. Check [libplist's Building](https://github.com/libimobiledevice/libplist?tab=readme-ov-file#building) and [libimobiledevice-glue's Building](https://github.com/libimobiledevice/libimobiledevice-glue?tab=readme-ov-file#building) section of the respective README on how to build them. Note that some platforms might have them as a package. From 39372b8fbd7eea9d533434771b2f029cb9cd9803 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Wed, 18 Jun 2025 14:44:48 +0200 Subject: [PATCH 5/5] Apply suggestions from code review --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 086c99d..aadfe71 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Only the prerequisites differ and they are described in this section. - On Linux it also requires [usbmuxd](https://github.com/libimobiledevice/usbmuxd) to be installed and running on the system. - On macOS this service is already provided by the operating system. - On Windows [the Apple Mobile Device Service](https://support.apple.com/102347) is automatically provided when iTunes is installed. + Check [libplist's Building](https://github.com/libimobiledevice/libplist?tab=readme-ov-file#building) and [libimobiledevice-glue's Building](https://github.com/libimobiledevice/libimobiledevice-glue?tab=readme-ov-file#building) section of the respective README on how to build them. Note that some platforms might have them as a package.