浏览代码

Merge develop into feature/verify-receipt-auto-refresh

Andrea Bizzotto 8 年之前
父节点
当前提交
26338ffcfa
共有 2 个文件被更改,包括 15 次插入5 次删除
  1. 8 2
      SwiftyStoreKit/InAppProductQueryRequest.swift
  2. 7 3
      SwiftyStoreKit/InAppReceiptRefreshRequest.swift

+ 8 - 2
SwiftyStoreKit/InAppProductQueryRequest.swift

@@ -59,7 +59,7 @@ class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
 
         let retrievedProducts = Set<SKProduct>(response.products)
         let invalidProductIDs = Set<String>(response.invalidProductIdentifiers)
-        callback(RetrieveResults(retrievedProducts: retrievedProducts,
+        performCallback(RetrieveResults(retrievedProducts: retrievedProducts,
             invalidProductIDs: invalidProductIDs, error: nil))
     }
 
@@ -68,6 +68,12 @@ class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
     }
 
     func request(_ request: SKRequest, didFailWithError error: Error) {
-        callback(RetrieveResults(retrievedProducts: Set<SKProduct>(), invalidProductIDs: Set<String>(), error: error))
+        performCallback(RetrieveResults(retrievedProducts: Set<SKProduct>(), invalidProductIDs: Set<String>(), error: error))
+    }
+    
+    private func performCallback(_ results: RetrieveResults) {
+        DispatchQueue.main.async {
+            self.callback(results)
+        }
     }
 }

+ 7 - 3
SwiftyStoreKit/InAppReceiptRefreshRequest.swift

@@ -67,11 +67,15 @@ class InAppReceiptRefreshRequest: NSObject, SKRequestDelegate {
          print("\(k): \(v)")
          }
          }*/
-        callback(.success)
+        performCallback(.success)
     }
     func request(_ request: SKRequest, didFailWithError error: Error) {
         // XXX could here check domain and error code to return typed exception
-        callback(.error(e: error))
+        performCallback(.error(e: error))
+    }
+    private func performCallback(_ result: ResultType) {
+        DispatchQueue.main.async {
+            self.callback(result)
+        }
     }
-
 }