bizz84 / bizz84/SwiftyStoreKit
Getting Promo Code IAP (not offer code) on the SKPaymentQueue using SwiftyStoreKit
- Dominant language
- Swift
- Stars
- 6.7k
- Forks
- 801
- PR merge metrics
- No merged PRs in 30d
Description
## 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:
1. Go to App Store -> Profile
2. Go to Redeem Gift Card or Code
3. Input code
4. Tap Open App
5. 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 ?
Contributor guide
Assessment
This issue has not been assessed yet.