Jailbroken iOS tweak
Using unc0ver? Please update to the latest unc0ver, which fixes the issue in a more proper way! This was also fixed in Chimera recently.
NOTE: This fix isn’t necessary for iOS 12.4 or older. It’s only an issue on iOS 13.
This tweak is an experimental workaround for issues with daemons crashing frequently on devices jailbroken on iOS 13, causing battery drain and system instability. It essentially puts some commonly crashing daemons in a permanent “safe mode”, so no tweaks can load into them and cause instability issues. With very few exceptions, these tweaks don’t intend to load into these daemons, so this shouldn’t cause trouble for any tweaks you have installed.
This does not fix all instability issues on iOS 13, but should fix the most common one.
You may not notice it, even if you have a crash reporter like Cr4shed installed, but various background processes (daemons) that make many features of iOS work tend to crash a lot on iOS 13. This is because of changes to a feature of iOS called Jetsam, which stops processes from using excessive resources (CPU and memory).
iOS 13 tweaked jetsam rules to be very tight. You may have experienced the effects of this even without a jailbreak. For example, pausing music while a music app is in the background could cause that app to quit. The next time you press play, it plays the iOS Music app instead. iOS is smart enough to know not to terminate the app that’s playing music, but once you’ve paused it, it’s not playing music any more, right?! So it gets terminated for using too much resources. This particular bug was fixed with iOS 13.3, but others still exist.
In the case of SpringBoard and other system processes crashing, Apple knows how much memory and CPU each process is meant to use, so they have a list of “jetsam rules” dictating each process’s limits. These used to be very conservative, so only the worst of memory leaks or infinite loops would be saved from their bad state with a force restart. With iOS 13, it seems Jetsam’s philosophy changed, because a system daemon even slightly overstepping its usual resource usage will be terminated. Because of this, jailbreak tweaks that might use a fair bit of memory or CPU could unintentionally cause a lot of havoc. Some tweaks do call for higher resource usage - that’s just what they are. Unfortunately it makes these crashes happen, since iOS isn’t aware of their needs.
StopCrashingPls is a tweak that loads before any other tweak, and then hijacks the tweak loading process so no more tweaks can be loaded. This tweak has this one simple purpose and is extremely small. This is not a complete fix for this issue. Processes like SpringBoard can still crash due to jetsam limits being reached. There are further changes that can be made to more fully fix this, but StopCrashingPls focuses on a simple solution that should solve most of the problem.