How to fix Mobile Substrate tweaks on your jailbroken iOS 7 device.
There was definitely a lot of excitement buzzing around the internet when the iOS 7 jailbreak was released by a group called Evad3rs, but that excitement quickly turned into chaos as users from all over the world filled up support-like forums, trying to figure out why so many apps and tweaks weren’t working with the new jailbreak. Part of the reason that so much worry and confusion struck people, was because the jailbreak release came as a surprise to pretty much everyone involved in the jailbreaking community, other than Evad3rs and their affiliates. There were also rumors of malware and talk of piracy that just added to the madness, but that’s for another discussion (don’t worry, there isn’t any malware in the Evasi0n jailbreak). Probably the biggest reason the jailbreak didn’t release as smooth as some had hoped, was because the developer of Cydia and Mobile Substrate was not prepared for the iOS 7 jailbreak to be released. Thankfully Saurik, the founder of Cydia, made hast to update the Cydia application to run better with iOS 7, but one large piece of the jailbreak puzzle is still missing, Mobile Substrate.
Mobile Substrate is the framework used for developers to allow run-time updates to their packages and it provides extra protection from device failure when using jailbreak apps. It’s one of the key ingredients for many of the apps and tweaks listed in the Cydia network, so without it, it leaves for a much emptier jailbreak.
Saurik shared his thoughts on Reddit about developers and users trying to find ways around the absent Mobile Substrate, like using “MS Reload Fix”. He urged people to wait for him to provide an update that would fix the issue. This is what Saurik had to say in his post regarding that particular fix.
(This is horribly dangerous: MSHookFunction is not designed to be used on functions that might actively be running; this makes Substrate get injected into launchd while launchd is loading launch daemons… no one should install this; it doesn’t even solve the problem remotely correctly for anything but SpringBoard/backboardd, and will end up leaving you with Substrate having been randomly applied to different background processes.)
However, there has been a new fix for Mobile Substrate simply called “Mobile Substrate Fix” and the good news is that even Saurik believes that this fix is safe, because ultimately, it’s what he is planning to do to resolve the issue on his end. He still suggests waiting for a official update to Mobile Substrate, but if you’re impatient like me, then this fix should be a safe bet. This is what Saurik had to say regarding the “Fix Mobile Substrate” package:
This only works on evasi0n 1.0.1 because it relies on the feature I had evad3rs add so I could solve this problem “correctly”. In that light, it probably does work (it is not “dangerous” as I described the previous ones), but there is still little point in installing it because clearly a new build of Substrate would come out soon using this new feature I got from evad3rs ;P. (Which didn’t happen yet as I took Christmas Eve/Day mostly as a holiday.)
The decision to use the fix or to wait for Saurik to update Mobile Substrate is obviously left up to you, I really don’t think it will be too long before we see an update to Mobile Substrate for older devices, but if you really want to get a app or tweak to work that uses the framework, this is a good way to try and get it running. The nice part is, whenever the update to Mobile Substrate is released, you can just uninstall this package and install the official update. Note: This fix has been reported not to work with devices that use the new ARM A7 64-bit processors, this would include the iPhone 5s, iPad Air, and iPad Mini with Retina. Please check the link at the bottom regarding 64-bit devices using Mobile Substrate.
Step One: You’ll need to add the parrotgeek.net source to your Cydia application to get the fix to show up. You can do this by going to Manage > Sources > Edit > Add Source within Cydia, then add the source http://parrotgeek.net/repo
Step Two: Use the Search function within Cydia and type “Mobile Substrate Fix” once you find and open the package, you’ll have a option to install in the upper right corner.
Hopefully this fix helps some of you out, as I mentioned before this does not work with any devices with the new A7 64-bit processor. If you have any questions or comments, make sure to leave them below. We’ll be sure to keep you posted on any new information regarding the iOS 7 jailbreak here at PocketMeta.
Update: Saurik has released his new version of Mobile Substrate, now called Cydia Substrate. This update only works with 64-bit devices like the iPhone 5s, iPad Air, and iPad Mini 2, so if you’re running a older iOS device, the above fix still applies. You can check out the full article here:
For more information on the iOS 7 jailbreak, check out some of the links below.