Testing and developing in-app purchase on Jailbroken iPhones or iPads doesn’t work
Just like the title says, and what I found out the hard way is that testing in app purchases on a jailbroken iOS device does not work.
I have tried pretty much everything I could find on the forums and blogs and support threads with no success until I tried testing on a virgin iPhone. Without any other change except the iphone being not jailbroken everything just worked and I started getting back product ID’s.
I could not find anyone that had this happen to them, a lot of people that would get the in-app purchase dialog specifying that they are running in the Sandbox although the app was production but no one getting invalid product id’s when testing/developing the app on a jailbroken device.
This has caused me endless hours of frustration, and I am sure I have had some other problems causing invalid product id’s during the development process but managed to weed them out while trying different stuff.
There are loads and loads of posts of the internet on how to get your in app purchase working, but most of them are out of date (itunes connect interface has changed) or tell you to do stuff that s really unnecessary to get a test going.
Good luck with this and I will write another post detailing the bare minimum I had to do to get the store kit to return valid product id’s.
UPDATE: I was able to get product info on a freshly installed ios 3.1.3, jailbroken but without installous or appsync installed. Previously I tried to uninstall appsync from a jailbroken ios 4.2.1 but that did not work, i was still getting invalid product id. It seems appsync is what is causing all of this in the end, or 3.1.3 is just more willing to play ball 😛