A cross-platform GUI application for managing iOS device pairing and wireless debugging. This tool provides an easy-to-use interface for managing pairing files which work with various iOS applications.
- Device Management: Automatically discover and connect to iOS devices via USB
- Pairing Files: Generate, load, and validate device pairing files
- App Integration: Support to install to popular apps including:
- Developer Mode: Monitor developer mode status
- Developer Disk Image Mounting: Automatically mount required developer images
- macOS/Linux/Windows: Cross-platform support, must have usbmuxd installed
- iOS/iPadOS Device: Must have a passcode set and be connected via USB
- Rust: Required for building from source
-
Clone the repository:
git clone https://github.com/jkcoxson/idevice_pair.git cd idevice_pair -
Build the application:
cargo build --release
-
Run the application:
cargo run --release
- Connect your iOS device via USB to your computer
- Launch the application - it will automatically scan for connected devices
- Select your device from the dropdown menu if not already selected
The application can generate and manage pairing files for various applications:
- Generate new pairing file: Click
Generateto create a fresh pairing - Load existing pairing file: Click
Loadto import from your computer - Save pairing file: Export the pairing file to your computer or install to your supported applications
- Validate pairing: Test the pairing file against a local network-connected device
Before creating a pairing file, ensure you have:
- Set a passcode on your iOS device
(For maximum performance, you should also)
-
Sideloaded an app (can be done with SideStore or a certificate + signer)
-
Enabled Developer Mode on your iOS/iPadOS device (found in Settings → Privacy & Security after sideloading an app)
- Download idevice_pair for macOS
- Open the Disk Image and drag
idevice_pairtoApplications
- Install iTunes from Apple's website
- Download idevice_pair for Windows and save it to a memorable location
- Install usbmuxd:
sudo apt install -y usbmuxd
- Download idevice_pair for your architecture and save it to a memorable location:
- Make the downloaded file executable
- Connect your device to your computer via USB cable
- If prompted, select
Trustand enter your passcode
- If prompted, select
- Open idevice_pair and select your device from the dropdown menu
- Select pairing mode,
RPPairingfor iOS 17.4+,Lockdownfor older verions. - Obtain pairing file:
- Ensure your device is unlocked and on the home screen
- RPPairing: click
Generate, Lockdown: clickLoad. - If prompted on your device, tap
Trustand enter your passcode
- Install/Place in your app:
- Keep your device unlocked and on the home screen
- Scroll down and click
Installunder your target application (e.g., "StikDebug") - You should see
Successappear in green
The tool includes built-in support for pairing file formats used by:
- SideStore:
ALTPairingFile.mobiledevicepairing - LiveContainer+SideStore:
SideStore/Documents/ALTPairingFile.mobiledevicepairing - StikDebug: RPPairing:
rp_pairing_file.plist, Lockdown:pairingFile.plist. - SparseBox:
pairingFile.plist - Feather:
pairingFile.plist - Protokolle:
pairingFile.plist - Antrag:
pairingFile.plist
This project uses several key dependencies:
- idevice: Core iOS device communication library
- egui: Immediate mode GUI framework
- eframe: Application framework for egui
- tokio: Asynchronous runtime
- rfd: Native file dialogs
For a complete list of dependencies, see Cargo.toml.
This project supports multiple languages.
- Locate the
locales/directory. - Create a new
.tomlfile named with your language code. - Use
en.tomlas a template and translate the strings.
- Ensure your iOS device is connected via USB
- Check that the device is trusted on your computer
- Try disconnecting and reconnecting the device
- Ensure Developer Mode is enabled on your iOS device
- Verify the pairing file format matches your target application (.plist or .mobiledevicepairing)
- Try creating a fresh pairing file using the
Generate(RPPairing) orLoad(Lockdown) button and reinstalling it if it doesn't function as expected
- Verify both devices are on the same network
- Check firewall settings that might block port 62078
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License.