InApp Purchase Troubles on Jailbroken iOS

If you happen to have a jailbroken iPhone/iPod or iPad and you are a developer, you might have run into a problem with InApp purchase testing (it simply won’t work). For me the jailbreak is a must-have so that I had to figure out the reason for these problems.

The problem is AppSync but there are two versions of it.

Old firmwares

On old firmwares it patched installd executable itself so to fix this problem you have to follow these steps to restore original installd:

The broblem is not the jailbreak itself, but a lousy AppSync patch. For me it worked so well that it patched installd without doing any backup! The file which is patched is /usr/libexec/installd. All you need is to temporary restore the original installd. If there is no installd.bak, installd.backup nor installd.original present, you need to get them from the firmware ipsw.

To get the original installd from the firmware package, do the following:

AppSync on newer firmwares is mobilesubstrate tweak located at /Library/MobileSubstrate/DynamicLibraries/AppSync.dylib.
You can just rename it to something like .dylib.disabled and restart installd by executing “killall installd” as root.

One more problem

P.S. If you can’t get through “Verification needed” message, create a new test user andDO NOT LOG IN THIS USER IN SETTINGS APP. The test user must not have a credit card assigned and should only be logged in after the purchase process is started inside a test app.