An on-device debugger/JIT enabler for iOS versions 17.4+, powered by idevice. https://stikdebug.xyz/
Find a file
Stephen f3d2dec2e5
Semi-Rewrite – Major Refactor & Codebase Cleanup (#328)
* Change default UPLOAD_IPA value to 'false'

* Part 1 of the great debloat

* Remove Mini Tools, adopt native alerts in StikJITApp, and update HomeView UI

* Refactor views to use native SwiftUI alerts instead of CustomErrorView

* Update ProfileView to use minimal List UI style with native alerts

* Fix up homeview

* Squash: Redesign HomeView, remove Feature Flags, enable all tabs, refactor alerts, and updates

- Redesign HomeView to a simpler style with 'Enable JIT' action.
- Remove 'Help & Info' and 'Quick Launch' from Home.
- Fix DDI false positive by starting heartbeat on HomeView appear.
- Restore robust DDI checks and update app name to 'StikDebug'.
- Remove FeatureFlags and Beta tags; enable 'profiles', 'processes', 'location' tabs by default.
- Remove 'Devices' tab; add 'Target Device IP' field in Settings.
- Hardcode 'Settings' tab to 4th position.
- Refactor 'SettingsView' tab customization to be reorder-only.
- Remove 'Appearance' theme section from Settings.
- Refactor custom error cards to use native SwiftUI/UIKit alerts across the app (HomeView, ConsoleLogsView, ProfileView, etc).
- Restore JS callback support and script execution logic in HomeView.
- Add necessary Color extensions.
- Update project version to 3.0.0.

* Clean up: Remove In-App Purchases, update checker, and unused IPA installer code

* delete more bloat

* fix build issue

* Remove widget to save on App IDs

* Attempt heartbeat restart when Enable JIT button is pressed

* Get rid of PIP

* Update Tab Naming

* remove more bloat

* final changes for today

* Remove unused packages

* UX Improvements

* revert bundle id

* Update README.md

* remove old idevice

* add updated idevice

* Fix ddi false positive errors and add templates for GitHub stuff

* Remove more unused stuff.

* Fix links and update README content

* Update compatibility table in README.md

* Improve performance of console logs

* Remove old code

* Change default UPLOAD_IPA value to 'true'

* remove the welcome sheet

* import support for .mobiledevicepair

* Add back LC JIT stuff

* Fix heartbeat issues with LC JIT

* update the build yml for nightly stuff

* Update README.md

* Update README.md

* Update GitHub Actions workflow for IPA build

* Update GitHub Actions workflow for nightly builds

* Add URL scheme to kill tasks stikjit://kill-process?pid=1234

* fix build issues

* Added App Intents

* Unify the error handling style across the app
2026-02-25 13:44:00 -05:00
.github Semi-Rewrite – Major Refactor & Codebase Cleanup (#328) 2026-02-25 13:44:00 -05:00
assets Update Icon 2025-10-19 00:48:27 -04:00
StikDebug.xcodeproj Semi-Rewrite – Major Refactor & Codebase Cleanup (#328) 2026-02-25 13:44:00 -05:00
StikJIT Semi-Rewrite – Major Refactor & Codebase Cleanup (#328) 2026-02-25 13:44:00 -05:00
StikJITTests Initial Commit 2025-03-27 00:43:48 -04:00
StikJITUITests Initial Commit 2025-03-27 00:43:48 -04:00
.gitignore Update .gitignore 2025-09-22 22:14:46 -04:00
info.md Fix typo in support statement for Stik products 2025-11-04 21:03:53 -05:00
LICENSE Create LICENSE 2025-03-27 06:46:57 -04:00
README.md Semi-Rewrite – Major Refactor & Codebase Cleanup (#328) 2026-02-25 13:44:00 -05:00

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.

Logo

StikDebug

An on-device debugger/JIT enabler for iOS versions 17.4+ powered by idevice.


Features

  • JIT: Enable Just In Time coplation in 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).
  • Profiles: Install/remove profile and see when apps will expire.
  • 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, releases, or @StephenDev0 on X 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

Steps

  1. Obtain a pairing file

  2. Set up VPN

    • Launch LocalDevVPN and enable the vpn.
  3. Enable JIT for an app

    • Launch StikDebug and press 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 erros → Ensure that the vpn is on and that you are connecected to Wi-Fi.
  • Pairing file issues → Regenerate file with device unlocked & trusted.
  • Still stuck? Join the Discord 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

    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

Ask DeepWiki

License

StikDebug is licensed under AGPL-3.0. See LICENSE for details.