Cross-platform, open-source and free idevice management tool written in Rust and Qt

GitHub CodeFactor Build GitHub tag (latest SemVer pre-release) Platform Language Qt AppImage AppImage

AppImage


Sponsored by

first-of-its kind private and secure consumer cellular service in the US



## Download ### DO NOT DOWNLOAD FROM ANY WEBSITE CLAIMING TO BE US WE ONLY HAVE https://idescriptor.github.io AND RELEASES WILL BE MADE FROM THIS REPO ONLY

Download for Windows Download for macOS Download for Linux Install from AUR

### Installation Instructions #### Windows - **Installer (.msi)**: Download and run the installer. Recommended for most users. - **Portable (.zip)**: Extract and run `iDescriptor.exe`. No installation required. - **Choco** : ```bash choco install idescriptor --version=0.1.0 ``` #### macOS - **Apple Silicon**: Download the `.dmg` file for M1/M2/M3/MX Macs.
Open the `.dmg` and drag iDescriptor to Applications.
After moving the app to Applications, run the code below
```shell xattr -c ~/Applications/iDescriptor.app ``` [Click here to learn more about why this is needed](#damaged-error-on-macos). - **Intel**: Download the `.dmg` file for Intel-based Macs.
Open the `.dmg` and drag iDescriptor to Applications.
You shouldn't run into any issues on Intel Macs but if you do, [check this out](#damaged-error-on-macos). #### Linux - **AppImage**: Download, unzip, and run. - **Arch Linux**: Install from AUR: ```bash sudo pacman -Syu yay -S idescriptor-git ``` make sure to do "sudo pacman -Syu" otherwise it's not going to find libimobiledevice>=1.4.0

# Windows 11 Dark (Acrylic) - v0.4.0


# Windows 11 Light (Acrylic) - v0.4.0


# Other platforms





## Features ### Connection | Feature | Status | Notes | | ------------------- | -------------- | --------------------------------------------- | | USB Connection | ✅ Implemented | Fully supported on Windows, macOS, and Linux. | | Wireless Connection | ✅ Implemented | Starting from v0.4.0 | ### Tools | Feature | Status | Notes | | ------------------------------------------------------ | -------------- | --------------------------------------------------------------------- | | [AirPlay](#airplay) | ✅ Implemented | Cast your device screen to your computer. | | [Download & Install Apps From Apple Store](#app-store) | ✅ Implemented | Download and install apps directly from the Apple Store. | | [Virtual Location](#virtual-location) | ✅ Implemented | Simulate GPS location. | | [iFuse Filesystem Mount](#ifuse-filesystem-mount) | ✅ Implemented | Mount the device's filesystem. (Windows & Linux only) | | Gallery | ✅ Implemented | - | | File Explorer | ✅ Implemented | Explore the device's filesystem. | | Wireless Gallery Import | ✅ Implemented | Import photos wirelessly (requires the Shortcuts app on the iDevice). | | [Cable Info](#cable-info) | ✅ Implemented | Check authenticity of connected USB cables and more. | | [Network Device Discovery](#network-device-discovery) | ✅ Implemented | Discover and monitor devices on your local network. | | [SSH Terminal](#ssh-terminal) **(Jailbroken)** | ✅ Implemented | Open up a terminal on your iDevice. | | Query MobileGestalt | ✅ Implemented | Read detailed hardware and software information from the device. | | [Live Screen](#live-screen) | ✅ Implemented | View your device's screen in real-time. | | Developer Disk Images | ✅ Implemented | Manage and mount developer disk images. **( iOS 6- 16)** | ## Fully Theme Aware



## AirPlay ### Cast your device screen to your computer!


## App Store ### Download and Install Apps directly from the Apple Store! You need to sign in with your Apple ID to use this feature.


## Virtual Location ### Simulate GPS location on your iDevice!


## iFuse Filesystem Mount ### Use your iDevice as a regular DRIVE! Literally mount your iDevice filesystem and use it as a regular drive , read and write are both allowed. Don't try to import photos or videos because it won't work that way, use the Gallery Import feature for that. #### Windows


#### Ubuntu / Linux


### Gallery


### File Explorer


## Cable Info


## Network Device Discovery


## SSH Terminal ### Open up a terminal on your Jailbroken iDevice!


## Live Screen Useful if your device does not support AirPlay


## **Authentication Required** ? You might get this pop-up on any platform this is because this app uses secure backends to retrieve and store your Apple credentials. You can disable this in settings but it is not recommended and not safe for your Apple account. Also if you leave this enabled and sign in you can use the same credentials in ipatool without signing in again.


## Sponsors ## Cape (Platinum)

Cape is the first-of-its kind private and secure consumer cellular service in the US, Try Cape risk-free for just $30 for your first month. Use code `trycape30` at checkout to apply. ## Become a Sponsor
You can become a sponsor from GitHub Sponsors or AppImage
## Thanks - [libimobiledevice](https://libimobiledevice.org/) - [ipatool](https://github.com/majd/ipatool) - We use a modified version [here](https://github.com/uncor3/libipatool-go) - [QSimpleUpdater](https://github.com/alex-spataru/QSimpleUpdater) - We use a modified version [here](https://github.com/uncor3/ZUpdater) - [UxPlay (for AirPlay)](https://github.com/FDH2/UxPlay) - We use a modified version [here](https://github.com/iDescriptor/uxplay) ## Linux Udev Rules iDescriptor will check for udev rules but in case it fails, you can manually add the udev rules by doing similar to the following: ```bash @uncore  sudo cat /etc/udev/rules.d/99-idevice.rules SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", MODE="0666" ✘  Sun 6 Jul - 14:29  ~  @uncore  sudo groupadd idevice Sun 6 Jul - 14:30  ~  @uncore  sudo usermod -aG idevice $USER Sun 6 Jul - 14:30  ~  @uncore  sudo udevadm control --reload-rules sudo udevadm trigger ``` For more info [UDEV.md](./UDEV.md) # Contributing Contributions are welcome! Please check the [Roadmap](#roadmap) first to make sure what you’re contributing to is not already under development and does not conflict with our CI/CD or overall project direction. We actively develop on dev branch, so please base your pull requests off of that branch. You can also send a pr to main branch but it should be something related to building, translations, publish to some package manager or documentation. ## Roadmap **Planned Features** This codebase is currently undergoing a major refactor and rewrite in `qml` and `qmeta-qml` branches - Migrate to idevice-rs `DONE` ✅ - Wireless Connection Support `DONE` ✅ - Install IPA files directly from the app - Virtual Location Support for iOS 17 and above `DONE` ✅ - Migrate to UCRT for better performance and stability `Windows` - New UI/UX improvements `Windows` ✅ - Read gallery from Photos.sqlite (under development) - Translations (currently scaffolding the base, contributions will be welcome once it’s ready) - Device Backup - Download any version of any app from app store (under development) - Implement sideloading - Import music - Companion app on device - Interact from the CLI **You can always become a sponsor/donate to request/prioritize a feature or speed up the development process!** ## Damaged Error on macOS


If you encounter a similar "damaged" error when trying to open the app on macOS, you can resolve this by running the following command in the terminal: ```shell xattr -c ~/Applications/iDescriptor.app ``` You need to run this because macOS blocks apps that are not signed by an Apple Developer ID. By clearing the extended attributes, you can bypass this security feature. This not something specific to iDescriptor, for example [check this out](https://github.com/deskflow/deskflow/issues/7606). You can be more explicit and only remove the quarantine attribute like so: ```shell xattr -dr com.apple.quarantine /Applications/iDescriptor.app ``` ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=iDescriptor/iDescriptor&type=date&legend=top-left)](https://www.star-history.com/#iDescriptor/iDescriptor&type=date&legend=top-left)