PseudoSubstrate (Installer )vs MobileSubstrate (Cydia)

Posted on Wednesday December 17th, 2008 / 10:52

Η RipDev κυκλοφόρησαν εχτές, μέσω του Installer, το PseudoSubstrate 1.0, το οποίο και αποτελεί την δική τους πρόταση έναντι του MobileSubstrate του Cydia.

Επί της ουσίας, το PseudoSubstrate επιτρέπει την εγκατάσταση εφαρμογών οι οποίες είναι διαθέσιμες στο Cydia και χρειάζονται το MobileSubstrate για να εγκατασταθούν.

PseudoSubstrate is used for situations when you don’t have Cydia installed or prefer Installer over the former and requires no additional work from developers’ side. And it’s faster, too.

Στη συνέχεια του post, οι RipDev προσπαθούν να μας πείσουν ότι το PseudoSubstrate είναι ανώτερο του MobileSubstrate:

  • MobileSubstrate is using a simple way of patching C functions where multiple patches for the same function will conflict.
  • The way of patching Objective C methods used by MobileSubstrate is puzzling me. Instead of just swapping the IMP addresses of the functions, it does that, but also adds a new method into the class methods list. While I can understand, why (it’s easier for the developer to write [self orig_patchedFunction:arg1] than gPatchedFunction(obj, sel, arg1); ) but in the end it causes a separate call to objc_msgSend resulting in 50 to 400 extra instructions to be executed just to call the original function. Talk about speed, huh.
  • The way MobileSafety works (it controls the Safe Mode commonly seen in the SpringBoard) is okay for a UN*X diehard – but it relies on some assumptions it shouldn’t. For example, it traps common signals sent when the app is crashed (SIGSEGV, SIGBUS, etc) but doesn’t passes the extra information to next handlers in chain! Hello, this is 21st century, and we’re not talking of command line tools here – it’s done inside a full-fledged GUI app, and who knows, that extra information MobileSafety discards may be useful – you never know!
  • The loader itself is written in Objective C which means it is much more slower than compared to the one written in pure C – and that affects every application launch.

Η RipDev βλέπει τον “πόλεμο” με το Cydia να χάνεται μέρα με τη μέρα και προσπαθεί να ανατρέψει την κατάσταση… Δεν νομίζουμε πως θα τα καταφέρει.


Συζήτηση στο forum: PseudoSubstrate vs MobileSubstrate

About Vasilis Ananiadis

Ο ζωντανός θρύλος της Ελληνικής blogόσφαιρας, ο αβυσσαλέος master του SEO, o πρίγκηπας των Social Media, ο τυφώνας των Web Startups, ο οργασμός της ιντερνετικής επιτυχίας. Τώρα και στο twitter: @vananiadis

Tags: ,

Comments are closed.