Why PPSync is Awful

A person contacted me the other day about how Calculator, Mail, and Weather were crashing instantaneously on his device, an iPhone 5 (N41) running iOS 7.0.6.

Initially to me, it sounded like typical PPSync issues, so I told him to go and install my Complete PPSync Remover, then install AppSync Unified if he wanted to retain AppSync functionality.

Apparently, he had already tried that. It didn't work.

So I requested TeamViewer access to his computer to investigate the situation a little further...

Upon further investigation, I found out something both horrifying and hilarious.

Turns out that certain versions of the PPSync package can actually have their postrm binary crash halfway into the uninstallation process, corrupting the system apps.

Yes, you're reading that right.

PPSync is somehow so poorly written that in addition to creating symbolic links of your system apps to /User/Applications, it can also corrupt the binaries while attempting to patch/unpatch them.

And the postrm binary is linked against CoreGraphics for no reason at all.

Of course, the issue was completely fixable. I just SSH'd into his device and copied clean binaries into the app bundles, and made the guy extremely happy.

Still, I fail to understand how PPSync can be so poorly-written.

tl;dr: Don't install versions of "AppSync" you find lying around other repos. More than likely, it is a mirror of the Chinese version, called PPSync, which causes weird issues like this among others (disappearing SpringBoard icons, instantly crashing apps, random resprings etc.).

If you want a version of AppSync that actually works well, get AppSync Unified from my Cydia repository.

Also, if you're reading this and you run/manage a piracy-centered repository, please take down PPSync (often renamed "AppSync for iOS 7"). If you want to mirror some version of AppSync, mirror AppSync Unified, which works for iOS 5, 6, and 7.

Here, I'll even make your lives easier. Here's the DEB: http://cydia.angelxwind.net/debs/nodelete-net.angelxwind.appsyncunified.deb