https://github.com/stephendev0/stikdebug
An on-device debugger/JIT enabler for iOS versions 17.4+ (excluding iOS 18.4 beta 1), powered by idevice.
https://github.com/stephendev0/stikdebug
idevice ios jit just-in-time stikjit swiftui
Last synced: 2 months ago
JSON representation
An on-device debugger/JIT enabler for iOS versions 17.4+ (excluding iOS 18.4 beta 1), powered by idevice.
- Host: GitHub
- URL: https://github.com/stephendev0/stikdebug
- Owner: StephenDev0
- License: agpl-3.0
- Created: 2025-03-27T02:05:59.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-08T04:52:13.000Z (11 months ago)
- Last Synced: 2025-06-08T05:42:40.267Z (11 months ago)
- Topics: idevice, ios, jit, just-in-time, stikjit, swiftui
- Language: Swift
- Homepage:
- Size: 225 MB
- Stars: 500
- Watchers: 7
- Forks: 51
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!CAUTION]
> **WARNING:** There are known critical issues with **iOS 26.4 Developer Beta 1**. The `lockdownd` service appears to be dropping connections, which interferes with how the device connects to itself (loopback/pairing issues) and prevents JIT from functioning. **DO NOT UPDATE** if you rely on StikDebug. These issues and possible fixes are currently being investigated.
## Features
- **JIT:** Enable Just In Time compilation for sideloaded apps that have the `get-task-allow` entitlement.
- **App Launching:** Launch every app installed on your device.
- **Console:** Live app and system logs.
- **Scripts:** Manage automation scripts (mainly used for iOS 26 JIT).
- **App Expiry:** See when apps will expire and install/remove profiles.
- **Device Info:** View detailed device metadata.
- **Processes:** Inspect running apps/processes and terminate them.
- **Location Simulator:** Simulate the GPS location of your device.
## Download
> [!WARNING]
> **Notice:** StikDebug is no longer available on the App Store. Please use the official download methods below.
## Compatibility
| iOS Version | Status | Notes |
|--------------------------|----------------------|-----------------------------------------------------------------------|
| 1.0 – 17.3.X | Not supported | Uses Different Connection Protocols |
| 17.4 – 18.x | Fully supported | Stable |
| 26.0 – 26.3 | Supported | Limited App Availability (Developers need to update their apps to work.) |
| 26.4 Developer Beta 1 | Critical issues | lockdownd drops connections → JIT broken; do not update |
| iOS 26.4+ betas / future | Untested / partial | Check [Discord](https://discord.gg/ZnNcrRT3M8), [releases](https://github.com/StephenDev0/StikDebug/releases), or [@StephenDev0 on X](https://x.com/stephendev0) for updates |
## How to Enable JIT
StikDebug enables **JIT** for sideloaded apps on iOS 17.4+ without needing a computer after the initial pairing setup.
### Requirements
- StikDebug installed (via AltSource, direct .ipa, or self-built)
- A valid **pairing file** (.plist / .mobiledevicepairing) for your device
- SideStore / AltStore / similar sideload tool (for app refreshing)
- A loopback VPN such as [LocalDevVPN](https://apps.apple.com/us/app/localdevvpn/id6755608044)
### Steps
1. **Obtain a pairing file**
- Detailed guide: [Pairing File Instructions](https://github.com/StephenDev0/StikDebug-Guide/blob/main/pairing_file.md) (or ask in Discord).
2. **Set up VPN**
- Launch LocalDevVPN and enable the VPN.
4. **Enable JIT for an app**
- Launch StikDebug and tapp the `Enable JIT` button.
- Select your sideloaded app from the list in StikDebug.
**Troubleshooting**
- "Connection dropped" or loopback errors → Check iOS version compatibility / beta warnings.
- Heartbeat errors → Ensure that the VPN is on and that you are connecected to Wi-Fi. It may be a pairing file issue.
- Pairing file issues → Replace file with device unlocked & trusted.
- Still stuck? Join the [Discord](https://discord.gg/ZnNcrRT3M8) with logs/screenshots.
## Building from Source
> [!NOTE]
> StikDebug is an open-source Xcode project written mostly in Swift. Building yourself lets you modify code, debug, or create custom versions. Requires a Mac with Xcode.
### Requirements
- macOS (latest recommended)
- Xcode 16+ (Xcode 26+ preferred for iOS 26+ support)
- iOS device on iOS 17.4+ (for testing)
- Git
- Basic Xcode/Swift knowledge
### Steps
1. **Clone the repo**
```bash
git clone https://github.com/StephenDev0/StikDebug.git
cd StikDebug
```
2. **Open in Xcode**
- Launch Xcode
- Open `StikDebug.xcodeproj`
3. **Configure signing**
- Select the **StikDebug** target
- Go to **Signing & Capabilities**
- Sign in with your Apple ID (free or paid developer account)
- Set a unique **Bundle Identifier** (e.g., `com.yourname.StikDebug`)
4. **Build & install**
- Select your connected device
- Press **Cmd + R** (or Product → Run)
- Trust the certificate on device: Settings → General → VPN & Device Management
After install, follow the JIT setup steps above (pairing import, etc.).
## Contributing
Thank you for your interest in contributing to this project. Contributions of all kinds are welcome.
### Reporting Bugs
If you discover a bug, please open an issue and include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior vs. actual behavior
- Relevant logs, screenshots, or environment details (iOS version, device model, etc.)
### Suggesting Features
To propose a new feature, open a feature request issue and provide:
- A clear description of the feature
- The problem it solves or the use case it addresses
- Any relevant examples or implementation ideas
### Code Contributions (Best Practices)
- Follow normal Swift and SwiftUI style.
- Write clear and easy to understand code.
- Keep your changes consistent with how the project is already set up.
- Make sure everything builds and works without errors.
We appreciate your time and effort in helping improve this project.
## Code Help
[](https://deepwiki.com/stephendev0/stikdebug)
## License
StikDebug is licensed under **AGPL-3.0**. See [`LICENSE`](LICENSE) for details.