---
name: "ideviceinstaller"
section: "1"
platform: "linux"
package: "ideviceinstaller"
version: "1.1.1+git20240518-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ideviceinstaller"
---

# ideviceinstaller(1)

Manage apps on iOS devices.

## NAME

ideviceinstaller - Manage apps on iOS devices.

## SYNOPSIS

**ideviceinstaller** \[OPTIONS\]

## DESCRIPTION

Allows to enumerate, install, upgrade, and uninstall apps on iOS devices.

## COMMANDS

- **list**

  List installed apps on the device. Options:

  - **--user**

    List user apps only (apps installed by the user). **This is the default.**

  - **--system**

    List system apps only (apps available from the system firmware).

  - **--all**

    List all types of apps.

  - **--xml**

    Print output as XML Property List.

  - **-a, --attribute ATTR**

    Specify attribute to return. This argument can be passed multiple times. If omitted and **--xml** is \*not\* specified, the default attributes **CFBundleIdentifier**, **CFBundleShortVersionString**, and **CFBundleDisplayName** will be used. The attributes can be found in the app's Info.plist, but also some extra attributes exist. Some examples:

    - **StaticDiskUsage** disk usage of installed app

      - **DynamicDiskUsage** app user data disk usage

      - **Path** app installation location

      - **SignerIdentity** code signing identity

      - NOTE: It is suggested to always add CFBundleIdentifier to allow unique identification of the apps.

      - **-b, --bundle-identifier BUNDLEID**

    Only query given bundle identifier. This argument can be passed multiple times.

- **install PATH**

  Install app from a package file specified by PATH. PATH can also be a .ipcc file for carrier bundle installation or a .app directory for developer app installation.

  - **-s, --sinf PATH**

    Pass an external SINF file located at PATH.

  - **-m, --metadata PATH**

    Pass an external iTunesMetadata file located at PATH.

- **uninstall BUNDLEID**

  Uninstall app specified by BUNDLEID.

- **upgrade PATH**

  Upgrade app from a package file specified by PATH.

## LEGACY COMMANDS

The following commands are non-functional with iOS 7 or later.

- **archive BUNDLEID**

  Archive app specified by BUNDLEID. Options:

  - **--uninstall**

    Uninstall the package after making an archive

  - **--app\_only**

    Archive application data only

  - **--docs\_only**

    Archive documents (user data) only

  - **--copy=PATH**

    Copy the app archive to directory PATH when done

  - **--remove**

    Only valid when copy=PATH is used: remove after copy

- **restore BUNDLEID**

  Restore archived app specified by BUNDLEID.

- **list-archives**

  List archived apps on the device. Options:

  - **--xml**

    Print output as XML Property List.

- **remove-archive BUNDLEID**

  Remove app archive specified by BUNDLEID.

## OPTIONS

- **-u, --udid UDID**

  Target specific device by UDID.

- **-n, --network**

  Connect to network device.

- **-w, --notify-wait**

  Wait for app installed/uninstalled notification before reporting success of operation.

- **-h, --help**

  Print usage information.

- **-d, --debug**

  Enable communication debugging.

- **-v, --version**

  Print version information.

## AUTHORS

Nikias Bassen

Martin Szulecki

## ON THE WEB

https://libimobiledevice.org

https://github.com/libimobiledevice/ideviceinstaller
