In App Purchase Manager framework for iOS
- ☐ Documentation!! Work in progress
- ☐ Change productPurchased(productIdentifier: String) -> Bool to return Tuple with 2 bools to replace hasValidReceipt property
- ☑︎ Change NSURLConnection to NSURLSession
pod 'InAppFw'
First you should add product IDs:
InAppFw.sharedInstance.addProductId(String)
InAppFw.sharedInstance.addProductIds([String])
Then you can request them from the Apple servers:
InAppFw.sharedInstance.requestProducts(completionHandler: (success: Bool, products: [SKProduct]?)
Make purchases:
InAppFw.sharedInstance.purchaseProduct(SKProduct)
Restore purchases:
InAppFw.sharedInstance.restoreCompletedTransactions()
Register for notifications:
- kIAPPurchasedNotification
- kIAPFailedNotification
Load the previously purchased products:
InAppFw.sharedInstance.loadPurchasedProducts(checkWithApple: Bool, completion: ((valid: Bool) -> Void)?)
checkWithApple
: if true
, will validate the Purchase receipt with Apple Servers too. The completion will be only true if the receipt is valid.