TIL

iOS In-App Purchases and Subscriptions

Receipt Validation

For subscriptions and IAPs, often folks implement server-side receipt validation, but that is not always necessary. It is possible to do receipt validation 100% clide-side, which might make sense in some cases. For example, simple client-side gating for client-side features. If subscriptions or IAPs access server content or services, then you should definitely validate receipts on the server.

Be aware that client-side validation is susceptible to being undermined by hacks and jailbreaks. However, this may not be a concern for you.

App Store Subscriptions and Family Sharing

That code will work fine until you encounter a customer that has Family Sharing enabled, as most do. The issue is that the Product.SubscriptionInfo can contain multiple items, and the code above only checks the first one.

Subscription Management

Curtis Herbert

Came up twice today, so PSA:

If you have an iOS subscription-based app, you can UIApp.openURL “https://finance-app.itunes.apple.com/account/subscriptions” to pop the user right to the sub management screen.

I argue you have a moral obligation to have a “manage sub” button in your app that does just that.

Tech Notes

Free Trials

Subscription tutorial

Paywall ideas

Blogs

Testing

SDK

StoreKit