Bläddra i källkod

Renamed and moved RetrieveResults struct into SwiftyStoreKit

Andrea Bizzotto 9 år sedan
förälder
incheckning
780a36f67e

+ 1 - 1
README.md

@@ -18,7 +18,7 @@ SwiftyStoreKit is a lightweight In App Purchases framework for iOS 8.0+ and OSX
 <img src="https://github.com/bizz84/SwiftyStoreKit/raw/master/Screenshots/Preview.png" width="320">
 <img src="https://github.com/bizz84/SwiftyStoreKit/raw/master/Screenshots/Preview2.png" width="320">
 
-### Retrieve product info
+### Retrieve products info
 ```swift
 SwiftyStoreKit.retrieveProductsInfo(["com.musevisions.SwiftyStoreKit.Purchase1"]) { result in
     if let product = result.retrievedProducts.first {

+ 1 - 1
SwiftyStoreDemo/ViewController.swift

@@ -119,7 +119,7 @@ extension ViewController {
         }
     }
 
-    func alertForProductRetrievalInfo(result: RetrieveResult) -> UIAlertController {
+    func alertForProductRetrievalInfo(result: SwiftyStoreKit.RetrieveResults) -> UIAlertController {
         
         if let product = result.retrievedProducts.first {
             let priceString = NSNumberFormatter.localizedStringFromNumber(product.price, numberStyle: .CurrencyStyle)

+ 3 - 9
SwiftyStoreKit/InAppProductQueryRequest.swift

@@ -24,15 +24,9 @@
 
 import StoreKit
 
-public struct RetrieveResult {
-    public let retrievedProducts: Set<SKProduct>
-    public let invalidProductIDs: Set<String>
-    public let error: NSError?
-}
-
 class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
 
-    typealias RequestCallback = (result: RetrieveResult) -> ()
+    typealias RequestCallback = (result: SwiftyStoreKit.RetrieveResults) -> ()
     private let callback: RequestCallback
     private let request: SKProductsRequest
     // http://stackoverflow.com/questions/24011575/what-is-the-difference-between-a-weak-reference-and-an-unowned-reference
@@ -71,7 +65,7 @@ class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
             
             let retrievedProducts = Set<SKProduct>(response.products ?? [])
             let invalidProductIDs = Set<String>(response.invalidProductIdentifiers ?? [])
-            self.callback(result: RetrieveResult(retrievedProducts: retrievedProducts,
+            self.callback(result: SwiftyStoreKit.RetrieveResults(retrievedProducts: retrievedProducts,
                 invalidProductIDs: invalidProductIDs, error: nil))
         }
     }
@@ -96,7 +90,7 @@ class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
     #endif
     func requestFailed(error: NSError){
         dispatch_async(dispatch_get_main_queue()) {
-            self.callback(result: RetrieveResult(retrievedProducts: [],
+            self.callback(result: SwiftyStoreKit.RetrieveResults(retrievedProducts: [],
                 invalidProductIDs: [], error: error))
         }
     }

+ 9 - 3
SwiftyStoreKit/SwiftyStoreKit.swift

@@ -55,6 +55,12 @@ public class SwiftyStoreKit {
     private var receiptRefreshRequest: InAppReceiptRefreshRequest?
     #endif
     // MARK: Enums
+    public struct RetrieveResults {
+        public let retrievedProducts: Set<SKProduct>
+        public let invalidProductIDs: Set<String>
+        public let error: NSError?
+    }
+
     public enum PurchaseError {
         case Failed(error: NSError)
         case InvalidProductId(productId: String)
@@ -86,14 +92,14 @@ public class SwiftyStoreKit {
     }
     
     // MARK: Public methods
-    public class func retrieveProductsInfo(productIds: Set<String>, completion: (result: RetrieveResult) -> ()) {
+    public class func retrieveProductsInfo(productIds: Set<String>, completion: (result: RetrieveResults) -> ()) {
         
         guard let products = sharedInstance.store.allProductsMatching(productIds) else {
             
             sharedInstance.requestProducts(productIds, completion: completion)
             return
         }
-        completion(result: RetrieveResult(retrievedProducts: products, invalidProductIDs: [], error: nil))
+        completion(result: RetrieveResults(retrievedProducts: products, invalidProductIDs: [], error: nil))
     }
     
     public class func purchaseProduct(productId: String, completion: (result: PurchaseResult) -> ()) {
@@ -217,7 +223,7 @@ public class SwiftyStoreKit {
         return RestoreResults(restoredProductIds: restoredProductIds, restoreFailedProducts: restoreFailedProducts)
     }
     
-    private func requestProducts(productIds: Set<String>, completion: (result: RetrieveResult) -> ()) {
+    private func requestProducts(productIds: Set<String>, completion: (result: RetrieveResults) -> ()) {
         
         inflightQueries[productIds] = InAppProductQueryRequest.startQuery(productIds) { result in
         

+ 1 - 1
SwiftyStoreOSXDemo/ViewController.swift

@@ -104,7 +104,7 @@ extension ViewController {
         }
     }
 
-    func alertForProductRetrievalInfo(result: RetrieveResult) -> NSAlert {
+    func alertForProductRetrievalInfo(result: SwiftyStoreKit.RetrieveResults) -> NSAlert {
         
         if let product = result.retrievedProducts.first {
             let priceString = NSNumberFormatter.localizedStringFromNumber(product.price ?? 0, numberStyle: .CurrencyStyle)