فهرست منبع

Add start/pause/resume/cancel methods for downloads

Andrea Bizzotto 7 سال پیش
والد
کامیت
469476afc7
2فایلهای تغییر یافته به همراه31 افزوده شده و 0 حذف شده
  1. 18 0
      SwiftyStoreKit/PaymentQueueController.swift
  2. 13 0
      SwiftyStoreKit/SwiftyStoreKit.swift

+ 18 - 0
SwiftyStoreKit/PaymentQueueController.swift

@@ -48,6 +48,11 @@ public protocol PaymentQueue: class {
 
     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 finishTransaction(_ transaction: SKPaymentTransaction)
@@ -151,6 +156,19 @@ class PaymentQueueController: NSObject, SKPaymentTransactionObserver {
         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 updatedDownloadsHandler: UpdatedDownloadsHandler?
 

+ 13 - 0
SwiftyStoreKit/SwiftyStoreKit.swift

@@ -225,6 +225,19 @@ extension SwiftyStoreKit {
             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 {