Эх сурвалжийг харах

fix: remove api available only on macos and only from version 10

Riccardo Cipolleschi 5 жил өмнө
parent
commit
f5d9858bc2

+ 7 - 31
SwiftyStoreKit/ProductsInfoController.swift

@@ -44,33 +44,27 @@ class ProductsInfoController: NSObject {
     }
     
     let inAppProductRequestBuilder: InAppProductRequestBuilder
-  
-    private var unfairLock: os_unfair_lock_s!
-    private var spinLock: OSSpinLock!
+
+    private var spinLock: OSSpinLock
   
     init(inAppProductRequestBuilder: InAppProductRequestBuilder = InAppProductQueryRequestBuilder()) {
         self.inAppProductRequestBuilder = inAppProductRequestBuilder
-        if #available(iOSApplicationExtension 10.0, *) {
-          self.unfairLock = os_unfair_lock()
-        } else {
-          self.spinLock = OSSpinLock()
-        }
-        super.init()
+        self.spinLock = OSSpinLock()
     }
     
     // As we can have multiple inflight requests, we store them in a dictionary by product ids
     private var inflightRequests: [Set<String>: InAppProductQuery] = [:]
 
     func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) {
-        self.lock()
+        OSSpinLockLock(&self.spinLock)
         defer {
-          self.unlock()
+          OSSpinLockUnlock(&self.spinLock)
         }
         if inflightRequests[productIds] == nil {
             let request = inAppProductRequestBuilder.request(productIds: productIds) { results in
-                self.lock()
+                OSSpinLockLock(&self.spinLock)
                 defer {
-                  self.unlock()
+                  OSSpinLockUnlock(&self.spinLock)
                 }
               
                 if let query = self.inflightRequests[productIds] {
@@ -89,22 +83,4 @@ class ProductsInfoController: NSObject {
             inflightRequests[productIds]!.completionHandlers.append(completion)
         }
     }
-  
-  
-      
-    private func lock() {
-      if #available(iOSApplicationExtension 10.0, *) {
-        os_unfair_lock_lock(&self.unfairLock)
-      } else {
-        OSSpinLockLock(&self.spinLock)
-      }
-    }
-  
-  private func unlock() {
-    if #available(iOSApplicationExtension 10.0, *) {
-      os_unfair_lock_unlock(&self.unfairLock)
-    } else {
-      OSSpinLockUnlock(&self.spinLock)
-    }
-  }
 }