浏览代码

Update AppDelegate with clearer usage of completeTransactions

Andrea Bizzotto 7 年之前
父节点
当前提交
e2ef37240e
共有 2 个文件被更改,包括 10 次插入6 次删除
  1. 5 3
      SwiftyStoreKit-iOS-Demo/AppDelegate.swift
  2. 5 3
      SwiftyStoreKit-macOS-Demo/AppDelegate.swift

+ 5 - 3
SwiftyStoreKit-iOS-Demo/AppDelegate.swift

@@ -42,13 +42,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
         SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
 
 
             for purchase in purchases {
             for purchase in purchases {
-                if purchase.transaction.transactionState == .purchased || purchase.transaction.transactionState == .restored {
-
+                switch purchase.transaction.transactionState {
+                case .purchased, .restored:
                     if purchase.needsFinishTransaction {
                     if purchase.needsFinishTransaction {
                         // Deliver content from server, then:
                         // Deliver content from server, then:
                         SwiftyStoreKit.finishTransaction(purchase.transaction)
                         SwiftyStoreKit.finishTransaction(purchase.transaction)
                     }
                     }
-                    print("purchased: \(purchase.productId)")
+                    print("\(purchase.transaction.transactionState.debugDescription): \(purchase.productId)")
+                case .failed, .purchasing, .deferred:
+                    break // do nothing
                 }
                 }
             }
             }
         }
         }

+ 5 - 3
SwiftyStoreKit-macOS-Demo/AppDelegate.swift

@@ -38,13 +38,15 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
         SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
 
 
             for purchase in purchases {
             for purchase in purchases {
-                if purchase.transaction.transactionState == .purchased || purchase.transaction.transactionState == .restored {
-
+                switch purchase.transaction.transactionState {
+                case .purchased, .restored:
                     if purchase.needsFinishTransaction {
                     if purchase.needsFinishTransaction {
                         // Deliver content from server, then:
                         // Deliver content from server, then:
                         SwiftyStoreKit.finishTransaction(purchase.transaction)
                         SwiftyStoreKit.finishTransaction(purchase.transaction)
                     }
                     }
-                    print("purchased: \(purchase.productId)")
+                    print("\(purchase.transaction.transactionState.debugDescription): \(purchase.productId)")
+                case .failed, .purchasing, .deferred:
+                    break // do nothing
                 }
                 }
             }
             }
         }
         }