Repository navigation
Python scripts now run on iOS 18, and the play button in the app no longer freezes the app.
Compatibility
| File | Jailbreak | iOS |
|---|---|---|
*_rootless.deb |
Dopamine, Dopamine 3, NathanLR | 15.0 - 18.x |
*_roothide.deb |
Roothide / Serotonin | 15.0 - 16.6.1 |
iOS 18 is tested on 18.5 with Dopamine 3, and iOS 17 on 17.6.
New: zxtouch-runner
iOS 18 does not let SpringBoard start processes, so ZXTouch could not launch scripts there at all. This release adds zxtouch-runner, a small daemon started by launchd. When SpringBoard is refused, scripts and run_shell_command are handed to the runner instead. On iOS 15 to 17 nothing changes and scripts start the way they always have.
You will see a new process, zxtouch-runner, and a LaunchDaemon named com.zjx.zxtouch.runner. It runs as mobile, the same user scripts already ran as, so scripts get no extra permissions. It only takes work from ZXTouch on the same device: registering needs a secret that only mobile can read, and the connection has to come from the device itself.
After installing, respring as usual. The runner starts on its own.
Fixed
- On iOS 18, scripts failed with "Python not installed" even with Python installed. The check asked whether SpringBoard itself was allowed to run the interpreter, and on iOS 18 it is not. It now checks that the interpreter is an executable file and leaves running it to the runner.
- The play button in the app's Scripts list froze the whole app until it was force quit. The app sent commands without the line ending the tweak expects, so the tweak never answered. App commands are now terminated properly, and the app gives up after 10 seconds instead of hanging.
- Two scripts started at the same moment could have their shell paths swapped, because the rootless path helper returns a shared buffer. The path is now copied before anything else runs.
Better error reporting
Errors that happen before a script starts now go to the Logs tab: which interpreter paths were checked and why each was rejected, and the exact reason a launch failed. Alerts point to Logs instead of Console.app.
Not yet confirmed
The roothide path fix from 1.0.0 has still not been confirmed by a roothide user. If scripts do not play on roothide, please open an issue with the output of ls -la "$(jbroot /var/mobile/Library/ZXTouch)".
ZXTouch Rootless
| File | Jailbreak | iOS |
|---|---|---|
*_rootless.deb |
Dopamine, Dopamine 3, NathanLR | 15.0 - 18.x |
*_roothide.deb |
Roothide / Serotonin | 15.0 - 16.6.1 |
Installation
- Download the
.debfor your jailbreak - Install via Filza or SSH:
dpkg -i <file>.deb && killall -9 SpringBoard
Python 3 from Procursus is required for
.pyscripts.
Full Changelog: v1.0.0...v1.0.1