Selaa lähdekoodia

Add start/pause/resume/cancel methods for downloads

Andrea Bizzotto 7 vuotta sitten
vanhempi
commit
469476afc7

+ 18 - 0
SwiftyStoreKit/PaymentQueueController.swift

@@ -48,6 +48,11 @@ public protocol PaymentQueue: class {
 
 
     func add(_ payment: SKPayment)
     func add(_ payment: SKPayment)
     
     
+    func start(_ downloads: [SKDownload])
+    func pause(_ downloads: [SKDownload])
+    func resume(_ downloads: [SKDownload])
+    func cancel(_ downloads: [SKDownload])
+    
     func restoreCompletedTransactions(withApplicationUsername username: String?)
     func restoreCompletedTransactions(withApplicationUsername username: String?)
 
 
     func finishTransaction(_ transaction: SKPaymentTransaction)
     func finishTransaction(_ transaction: SKPaymentTransaction)
@@ -151,6 +156,19 @@ class PaymentQueueController: NSObject, SKPaymentTransactionObserver {
         paymentQueue.finishTransaction(skTransaction)
         paymentQueue.finishTransaction(skTransaction)
     }
     }
     
     
+    func start(_ downloads: [SKDownload]) {
+        paymentQueue.start(downloads)
+    }
+    func pause(_ downloads: [SKDownload]) {
+        paymentQueue.pause(downloads)
+    }
+    func resume(_ downloads: [SKDownload]) {
+        paymentQueue.resume(downloads)
+    }
+    func cancel(_ downloads: [SKDownload]) {
+        paymentQueue.cancel(downloads)
+    }
+
     var shouldAddStorePaymentHandler: ShouldAddStorePaymentHandler?
     var shouldAddStorePaymentHandler: ShouldAddStorePaymentHandler?
     var updatedDownloadsHandler: UpdatedDownloadsHandler?
     var updatedDownloadsHandler: UpdatedDownloadsHandler?
 
 

+ 13 - 0
SwiftyStoreKit/SwiftyStoreKit.swift

@@ -225,6 +225,19 @@ extension SwiftyStoreKit {
             sharedInstance.paymentQueueController.updatedDownloadsHandler = updatedDownloadsHandler
             sharedInstance.paymentQueueController.updatedDownloadsHandler = updatedDownloadsHandler
         }
         }
     }
     }
+    
+    public class func start(_ downloads: [SKDownload]) {
+        sharedInstance.paymentQueueController.start(downloads)
+    }
+    public class func pause(_ downloads: [SKDownload]) {
+        sharedInstance.paymentQueueController.pause(downloads)
+    }
+    public class func resume(_ downloads: [SKDownload]) {
+        sharedInstance.paymentQueueController.resume(downloads)
+    }
+    public class func cancel(_ downloads: [SKDownload]) {
+        sharedInstance.paymentQueueController.cancel(downloads)
+    }
 }
 }
 
 
 extension SwiftyStoreKit {
 extension SwiftyStoreKit {