The controversy surrounding the dubious relationship between the Evad3rs team and the Chinese TaiG App Store initially left some jailbreak users thinking twice about running and installing the Evasi0n jailbreak software on their Apple (NASDAQ:AAPL) iPhone 5S, iPad Air, iPod Touch and other iOS devices.
For those who bit the bullet and installed the Evasi0n jailbreak on their iOS devices, a partially buggy and broken jailbreak experience awaited them, mainly due to the sudden release of the Evasi0n jailbreak, which left developers scrambling to update their iOS tweaks and modifications to work with the Evasi0n jailbreak and iOS 7. For 32-bit iOS devices such as the iPhone 4S and the first-generation iPad mini, the bugs were somewhat less of an issue.
For 64-bit iOS devices such as the iPhone 5S and the iPad Air, problems were more noticeable since MobileSubstrate -- the process that many tweaks and iOS modifications are dependent on -- hasn't been updated to support the 64-bit processor on newer iOS devices.
“Substrate is a platform for injecting code into another process, and a library that injected code can use to modify its host program. Any “tweak” that is in fact a “substrate extension” (or anything attempting to be remotely as powerful as a substrate extension) will have to be recompiled.”
Since many of the MobileSusbstrate-dependent tweaks rely on a 64-bit update to MobileSubstrate, they will continue be nonfunctional until it is updated. While Freeman is expected to update MobileSubstrate, there's currently no publicly scheduled or estimated release date.
For 32-bit iOS devices jailbroken using Evasi0n, MobileSubstrate does work, albeit in a buggy state where the process won't reload after a reboot. Third-party developers have attempted to fix the issue with such patches as “MS Reload Fix.”
Freeman, however, advises users of the social news site Reddit to stay away from this 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.)” [sic]
While another fix surfaced that appears to fix MobileSubstrate on 32-bit devices, Freeman still recommends that users wait for the official updates instead of modifying the MobileSubstrate process.
“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.)
(This does, btw, also argue that what I should have had them do is just reactivate launchd.conf... or maybe done that in addition to the rc.d thing... I kind of thought about that a couple days later, wasn't certain if it would work, and didn't have the energy to go back and beg for a different feature. Whatever... the rc.d thing probably needed to be done someday anyway... but maybe I will try to talk to planetbeing today,)” Freeman said on a Reddit thread.
While MobileSubstrate is still being updated, iOS 7 jailbreak users have found creative ways to modify their phones with various tweaks that have been found to be compatible with iOS7, even without MobileSubstrate.
If you have used the Evasi0n jailbreak on your iOS device, what tweaks and modifications have you found work well in iOS 7? Let us know in the comments.