Skip to content

A free, open-source, and cross-platform iDevice management tool

License

Notifications You must be signed in to change notification settings

iDescriptor/iDescriptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

430 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Cross-platform, open-source and free idevice management tool written in C++

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

AppImage

Download

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 :
 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

xattr -c ~/Applications/iDescriptor.app

Click here to learn more about why this is needed.

  • 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.

Linux

  • AppImage: Download, unzip, and run.
  • Arch Linux: Install from AUR:
  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







Good News!

iDescriptor v0.4.0 will feature WIRELESS CONNECTION support!

Learn more about our roadmap here.




Features

Connection

Feature Status Notes
USB Connection ✅ Implemented Fully supported on Windows, macOS, and Linux.
Wireless Connection ⚠️ Under Development Currently under development, planned to be released in v0.4.0

Tools

Feature Status Notes
AirPlay ✅ Implemented Cast your device screen to your computer.
Download & Install Apps From Apple Store ✅ Implemented Download and install apps directly from the Apple Store.
Virtual Location ✅ Implemented Simulate GPS location. Requires a mounted Developer Disk Image. ( iOS 6 - iOS 16)
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 ✅ Implemented Check authenticity of connected USB cables and more.
Network Device Discovery ✅ Implemented Discover and monitor devices on your local network.
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 ✅ Implemented View your device's screen in real-time (wired).
Developer Disk Images ✅ Implemented Manage and mount developer disk images. ( iOS 6 - iOS 16)

Device Actions

Feature Status Notes
Restart Device ✅ Implemented -
Shutdown Device ✅ Implemented -
Enter Recovery Mode ✅ Implemented -

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! (iOS 6 - iOS 16)


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.


Become a Sponsor

You can become a sponsor from GitHub Sponsors or AppImage

Thanks

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:

@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

Contributing

Contributions are welcome!

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, publish to some package manager or documentation.

Roadmap

Planned Features for v0.4.0:

  • Migrate to idevice-rs 99% done
  • Wireless Connection Support DONE
  • Install IPA files directly from the app
  • Virtual Location Support for iOS 17 and above
  • Complete iOS 26 Support
  • Migrate to UCRT for better performance and stability Windows
  • New UI/UX improvements
  • Read gallery from Photos.sqlite (maybe delayed to v0.5.0)

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:

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.

You can be more explicit and only remove the quarantine attribute like so:

xattr -dr com.apple.quarantine /Applications/iDescriptor.app

Star History

Star History Chart