Initial Setup

libimobiledevice requires a few files and some commands you can note down. Let's download those.

Prerequisites

  • Windows, Mac or Linux computer with an Internet connection

  • iOS device with an Internet connection

  • Lightning cable (for connecting the device to your computer)

Downloading libimobiledevice

On your computer, download libimobiledevice for your OS. Download for Windows Download for macOS and Linux

  1. Extract the ZIP archive, and place it in a place you won't delete

  2. Press CTRL+R, type sysdm.cpl, and press Enter

  3. Click "Advanced", and "Environment Variables"'

  4. Click "Path", and "Edit..."

  5. Click "Browse..." and select the folder you extracted

  6. Press OK, and close the windows

Downloading the Developer Disk Image

When tethering, you need to mount a Developer Disk Image. We'll download this on your computer.

  1. Head over to this GitHub repository. It contains all the developer disk images, taken straight from Apple.

  2. Download the correct archive for your device.

Not all iOS versions have a disk image. If your version is not listed, choose the version before it.

Extract the archive, and save it somewhere you can find it later.

Noting down some commands

There are some commands here that you can copy+paste later. Let's find them.

Connect your iOS device to your computer, and open a terminal/command prompt before proceeding.

Finding your devices UUID

  1. Type idevice_id and press Enter

Now you will see your devices in this list. Note down the number before (USB) or (Network).

If your device says (Network) besides it, you don't need your device connected via USB for this to work! Just remember to add the -n parameter to the commands you are running.

Finding UTMs Bundle Identifier

  1. Type ideviceinstaller -l -u , and paste your devices UUID.

  2. Press Enter

This will show every app on your device, and will probably be a very long string of text. You can paste this into a text editor like TextEdit or Notepad, and search for "UTM".

In the line you found "UTM", the bundle identifier is the left-most entry. e.g com.utmapp.UTM. Note this string down.

Noting down the launch commands

Now we'll note down the commands you need to run every time you are tethering UTM on your device.

  1. Mounting the disk image ideviceimagemounter -u [your devices UUID] [path to DeveloperDiskImage.dmg] Example: ideviceimagemounter -u 12345678-ABCEDEFGHIJKLMNO C:\Users\BluDood\15.0\DeveloperDiskImage.dmg

  2. Tethering UTM idevicedebug -u [your devices UUID] --detach run [UTM bundle ID] Example: idevicedebug -u 12345678-ABCEDEFGHIJKLMNO --detach run com.bludood.UTM

Done!

That's the initial setup process for libimobiledevice. In the next step, we'll run the commands and look at some troubleshooting steps:

Last updated