瀏覽代碼

Update SwiftyStoreKitOSX to Swift 3.0, unifies some APIs with iOS. Set MacOS deployment target to 10.10

Andrea Bizzotto 9 年之前
父節點
當前提交
efa5f80ab1

+ 4 - 2
SwiftyStoreKit.xcodeproj/project.pbxproj

@@ -652,6 +652,7 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MACOSX_DEPLOYMENT_TARGET = 10.10;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
@@ -691,6 +692,7 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MACOSX_DEPLOYMENT_TARGET = 10.10;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				SWIFT_VERSION = 3.0;
@@ -788,7 +790,7 @@
 				INFOPLIST_FILE = SwiftyStoreKitOSX/Info.plist;
 				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
-				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				MACOSX_DEPLOYMENT_TARGET = 10.10;
 				PRODUCT_BUNDLE_IDENTIFIER = com.musevisions.OSX.SwiftyStoreKit;
 				PRODUCT_NAME = SwiftyStoreKit;
 				SDKROOT = macosx;
@@ -812,7 +814,7 @@
 				INFOPLIST_FILE = SwiftyStoreKitOSX/Info.plist;
 				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
-				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				MACOSX_DEPLOYMENT_TARGET = 10.10;
 				PRODUCT_BUNDLE_IDENTIFIER = com.musevisions.OSX.SwiftyStoreKit;
 				PRODUCT_NAME = SwiftyStoreKit;
 				SDKROOT = macosx;

+ 2 - 6
SwiftyStoreKit/InAppCompleteTransactionsObserver.swift

@@ -25,7 +25,7 @@
 
 import StoreKit
 
-extension PaymentTransactionState {
+extension SKPaymentTransactionState {
     
     var stringValue: String {
         switch self {
@@ -74,11 +74,7 @@ class InAppCompleteTransactionsObserver: NSObject, SKPaymentTransactionObserver
         
         for transaction in transactions {
             
-            #if os(iOS) || os(tvOS)
-                let transactionState = transaction.transactionState
-            #elseif os(OSX)
-                let transactionState = PaymentTransactionState(rawValue: transaction.transactionState)!
-            #endif
+            let transactionState = transaction.transactionState
 
             if transactionState != .purchasing {
                 

+ 2 - 6
SwiftyStoreKit/InAppProductPurchaseRequest.swift

@@ -35,7 +35,7 @@ class InAppProductPurchaseRequest: NSObject, SKPaymentTransactionObserver {
     
     typealias RequestCallback = (results: [TransactionResult]) -> ()
     private let callback: RequestCallback
-    private var purchases : [PaymentTransactionState: [String]] = [:]
+    private var purchases : [SKPaymentTransactionState: [String]] = [:]
 
     var paymentQueue: SKPaymentQueue {
         return SKPaymentQueue.default()
@@ -103,11 +103,7 @@ class InAppProductPurchaseRequest: NSObject, SKPaymentTransactionObserver {
                 isPurchaseRequest = true
             }
 
-            #if os(iOS) || os(tvOS)
-                let transactionState = transaction.transactionState
-            #elseif os(OSX)
-                let transactionState = PaymentTransactionState(rawValue: transaction.transactionState)!
-            #endif
+            let transactionState = transaction.transactionState
 
             switch transactionState {
             case .purchased:

+ 2 - 13
SwiftyStoreKit/InAppProductQueryRequest.swift

@@ -73,22 +73,11 @@ class InAppProductQueryRequest: NSObject, SKProductsRequestDelegate {
     func requestDidFinish(_ request: SKRequest) {
         
     }
-    // MARK: - missing SKPaymentTransactionState on OSX
-    #if os(iOS) || os(tvOS)
+
     func request(_ request: SKRequest, didFailWithError error: NSError) {
         requestFailed(error)
     }
-    #elseif os(OSX)
-    func request(request: SKRequest, didFailWithError error: NSError?) {
-        if let notNilError = error {
-            requestFailed(notNilError)
-        }
-        else {
-            let message = "Query failed for request: \(request.debugDescription)"
-            requestFailed(NSError(domain: SKErrorDomain, code: 0, userInfo: [ NSLocalizedDescriptionKey: message ]))
-        }
-    }
-    #endif
+
     func requestFailed(_ error: NSError){
         DispatchQueue.main.async {
             self.callback(result: SwiftyStoreKit.RetrieveResults(retrievedProducts: [],

+ 1 - 14
SwiftyStoreKit/OS.swift

@@ -24,19 +24,6 @@
 
 import StoreKit
 
-// MARK: - missing SKPaymentTransactionState on OSX
-#if os(iOS) || os(tvOS)
-    public typealias PaymentTransactionState = SKPaymentTransactionState
-#elseif os(OSX)
-    public enum PaymentTransactionState : Int {
-        case Purchasing // Transaction is being added to the server queue.
-        case Purchased // Transaction is in queue, user has been charged.  Client should complete the transaction.
-        case Failed // Transaction was cancelled or failed before being added to the server queue.
-        case Restored // Transaction was restored from user's purchase history.  Client should complete the transaction.
-        case Deferred // The transaction is in the queue, but its final status is pending external action.
-    }
-#endif
-
 // MARK: - missing SKMutablePayment init with product on OSX
 #if os(OSX)
     extension SKMutablePayment {
@@ -63,4 +50,4 @@ extension SKProductsResponse {
     var _invalidProductIdentifiers: [String]? {
         return self.invalidProductIdentifiers
     }
-}
+}

+ 1 - 1
SwiftyStoreKit/SwiftyStoreKit.swift

@@ -82,7 +82,7 @@ public class SwiftyStoreKit {
     }
     public struct CompletedTransaction {
         public let productId: String
-        public let transactionState: PaymentTransactionState
+        public let transactionState: SKPaymentTransactionState
     }
 
     public enum InternalErrorCode: Int {