So today we’re adding hosted IAP content to a project for the first time — right out on the cutting edge with those iOS 6 features, that’s us — so that makes it a good time to check out what’s new in the way of IAP support libraries since a long time ago we last had occasion to check out the state of the art. The two we checked out then are:
- MugunthKumar / MKStoreKit: Seems quiet for the last year, latest README notes “I’m working on In App Purchase hosted content support on iOS 6. It’s implemented, but for some apparent reason, download doesn’t happen.” Next!
- anystone / AnystoneStoreKit: Also appears to be languishing since initial release, nothing in nine months.
Hmmm. Alright, let’s check on other libraries that we’ve noted the existence of since then:
- mattt / CargoBay: Fairly active; looks like there’s an open ticket on iOS 7 offline validation; includes hosted download support.
- ApptitudeNOLA / iTunesConnectHelper: Looks pretty quiet for the last year.
- dreamengine / DEStoreKitManager: Likewise.
- robotmedia / RMStore: Somewhat active; only one here supporting -refreshReceiptOnSuccess and other iOS 7 goodies. No hosted download support yet.
And let’s go trawling around to see what other libraries we can dredge up that we hadn’t noted the existence of until now. Making the probably reasonably safe assumption that anybody serious these days is doing a CocoaPod for their project and/or will be listed on CocoaControls, that gives us the new entrants
- chendry / SimplePurchase: No content or verification handling. Too simple.
- AwaraiStudios / ASBanker: Another lightweight.
- ebutterfly / EBPurchase: And another.
- stefankendall / IAPManager: Likewise. Although stefankendall / IAPAdapter for Simulator use is a nice touch.
- brynbellomy / iOS-CrackRock: focused on ReactiveCocoa supplementation
CargoBay has a couple extensions out there as well:
- rsanchezsaez / CargoManager / CargoManagerExample “abstracts most details of StoreKit and CargoBay by providing a simple and pretty much automated manager…”
- lxcid / LXReceiptStore “provides a simpler interface aims at helping you make sense out of your In-App Purchase receipts.”
And here’s a selection of tutorials and snippets regarding the hosting and verification process to help smooth out all the rough edges on your choice (if any) of framework:
rmaddy / VerifyStoreReceiptiOS “parses and validates the payload and the PKCS7 container itself.”
DarkHorseComics / DHAppleReceiptParser “A library to parse the apple receipt file in iOS 7 “
A complete solution to LOCALLY validate an in-app receipts and bundle receipts on iOS 7 — check out the epistle from hpique the RMStore author
Well, adding hosted download support is pretty straightforward looking, and iOS 7-savvy receipt validation is most assuredly not straightforward looking in the slightest, so we’re going to go with RMStore here. It looks very nicely done indeed — check out these slides — for making things simpler without getting in your way a lot, which is a pretty fine line to walk. You may find that line for you somewhere more congruent with some of the other options up there of course; and CargoBay is definitely worth a very close look if you’ve already got (or insist on getting) server side verification. We’re perfectly good with the on-device verification here, because there just isn’t enough money at stake with our handful of IAP options to bother getting overly uptight, so RMStore being apparently the current best available drop-in solution for that floats our boat just fine. And besides, there’s already a pull request for download support — yep, looks just about as straightforward as our guess at doing it ourselves would be — so chances are, by the time we get all the content sorted packaged and uploaded, it’ll be there waiting!