SwiftyStoreKit
SwiftyStoreKit copied to clipboard
Getting Promo Code IAP (not offer code) on the SKPaymentQueue using SwiftyStoreKit
Question
I'm trying to get Promo Codes Redeemed from the app store to work inside my iOS app. Please note that these are different from offer codes - which are used for subscriptions and work with presenting an UI.
After I generate a promo code from appstoreconnect the flow from a user perspective is:
- Go to App Store -> Profile
- Go to Redeem Gift Card or Code
- Input code
- Tap Open App
- My app opens but no IAP is triggered by
SwiftyStoreKit.completeTransactions.
I'm using SwiftyStoreKit and in applicationDidFinishLaunching I've put the code:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// see notes below for the meaning of Atomic / Non-Atomic
SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
for purchase in purchases {
switch purchase.transaction.transactionState {
case .purchased, .restored:
if purchase.needsFinishTransaction {
// Deliver content from server, then:
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
// Unlock content
case .failed, .purchasing, .deferred:
break // do nothing
}
}
}
return true
}
and handle the delivering functionality of the IAP before calling :
SwiftyStoreKit.finishTransaction(purchase.transaction)
But there seems there is no call to the SwiftyStoreKit.completeTransactions callback.
Isn't this the method that should get called to make redeeming promo codes work ?