Browse Source

Change method signature to inject ReceiptValidator in

Luong Huy Duc 8 years ago
parent
commit
e801d51a23

+ 8 - 0
SwiftyStoreKit.xcodeproj/project.pbxproj

@@ -7,6 +7,9 @@
 	objects = {
 	objects = {
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
+		1592CD501E27756500D321E6 /* ReceiptValidators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1592CD4F1E27756500D321E6 /* ReceiptValidators.swift */; };
+		1592CD511E27756500D321E6 /* ReceiptValidators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1592CD4F1E27756500D321E6 /* ReceiptValidators.swift */; };
+		1592CD521E27756500D321E6 /* ReceiptValidators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1592CD4F1E27756500D321E6 /* ReceiptValidators.swift */; };
 		54B069911CF742CE00BAFE38 /* InAppCompleteTransactionsObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 651A71241CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift */; };
 		54B069911CF742CE00BAFE38 /* InAppCompleteTransactionsObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 651A71241CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift */; };
 		54B069921CF742D100BAFE38 /* InAppReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A7C7621C29B8D00053ED64 /* InAppReceipt.swift */; };
 		54B069921CF742D100BAFE38 /* InAppReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A7C7621C29B8D00053ED64 /* InAppReceipt.swift */; };
 		54B069931CF742D300BAFE38 /* InAppReceiptRefreshRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4083C561C2AB0A900295248 /* InAppReceiptRefreshRequest.swift */; };
 		54B069931CF742D300BAFE38 /* InAppReceiptRefreshRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4083C561C2AB0A900295248 /* InAppReceiptRefreshRequest.swift */; };
@@ -96,6 +99,7 @@
 /* End PBXCopyFilesBuildPhase section */
 /* End PBXCopyFilesBuildPhase section */
 
 
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
+		1592CD4F1E27756500D321E6 /* ReceiptValidators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReceiptValidators.swift; sourceTree = "<group>"; };
 		54C0D52C1CF7404500F90BCE /* SwiftyStoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyStoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		54C0D52C1CF7404500F90BCE /* SwiftyStoreKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyStoreKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		6502F5FE1B985833004E342D /* SwiftyStoreKit_iOSDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftyStoreKit_iOSDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		6502F5FE1B985833004E342D /* SwiftyStoreKit_iOSDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftyStoreKit_iOSDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		6502F6221B98586A004E342D /* InAppProductPurchaseRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InAppProductPurchaseRequest.swift; sourceTree = "<group>"; };
 		6502F6221B98586A004E342D /* InAppProductPurchaseRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InAppProductPurchaseRequest.swift; sourceTree = "<group>"; };
@@ -200,6 +204,7 @@
 				6502F6231B98586A004E342D /* InAppProductQueryRequest.swift */,
 				6502F6231B98586A004E342D /* InAppProductQueryRequest.swift */,
 				C4083C561C2AB0A900295248 /* InAppReceiptRefreshRequest.swift */,
 				C4083C561C2AB0A900295248 /* InAppReceiptRefreshRequest.swift */,
 				C4A7C7621C29B8D00053ED64 /* InAppReceipt.swift */,
 				C4A7C7621C29B8D00053ED64 /* InAppReceipt.swift */,
+				1592CD4F1E27756500D321E6 /* ReceiptValidators.swift */,
 				651A71241CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift */,
 				651A71241CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift */,
 				653722801DB8282600C8F944 /* SKProduct+LocalizedPrice.swift */,
 				653722801DB8282600C8F944 /* SKProduct+LocalizedPrice.swift */,
 				6502F6241B98586A004E342D /* SwiftyStoreKit.swift */,
 				6502F6241B98586A004E342D /* SwiftyStoreKit.swift */,
@@ -473,6 +478,7 @@
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
 				54B069911CF742CE00BAFE38 /* InAppCompleteTransactionsObserver.swift in Sources */,
 				54B069911CF742CE00BAFE38 /* InAppCompleteTransactionsObserver.swift in Sources */,
+				1592CD521E27756500D321E6 /* ReceiptValidators.swift in Sources */,
 				54B069951CF742D900BAFE38 /* InAppProductPurchaseRequest.swift in Sources */,
 				54B069951CF742D900BAFE38 /* InAppProductPurchaseRequest.swift in Sources */,
 				54C0D5681CF7428400F90BCE /* SwiftyStoreKit.swift in Sources */,
 				54C0D5681CF7428400F90BCE /* SwiftyStoreKit.swift in Sources */,
 				54B069961CF744DC00BAFE38 /* OS.swift in Sources */,
 				54B069961CF744DC00BAFE38 /* OS.swift in Sources */,
@@ -499,6 +505,7 @@
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
 				C40C68101C29414C00B60B7E /* OS.swift in Sources */,
 				C40C68101C29414C00B60B7E /* OS.swift in Sources */,
+				1592CD501E27756500D321E6 /* ReceiptValidators.swift in Sources */,
 				651A71251CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift in Sources */,
 				651A71251CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift in Sources */,
 				6502F63A1B985C9E004E342D /* InAppProductPurchaseRequest.swift in Sources */,
 				6502F63A1B985C9E004E342D /* InAppProductPurchaseRequest.swift in Sources */,
 				6502F63B1B985CA1004E342D /* InAppProductQueryRequest.swift in Sources */,
 				6502F63B1B985CA1004E342D /* InAppProductQueryRequest.swift in Sources */,
@@ -515,6 +522,7 @@
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
 				C40C68111C29419500B60B7E /* OS.swift in Sources */,
 				C40C68111C29419500B60B7E /* OS.swift in Sources */,
+				1592CD511E27756500D321E6 /* ReceiptValidators.swift in Sources */,
 				651A71261CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift in Sources */,
 				651A71261CD651AF000B4091 /* InAppCompleteTransactionsObserver.swift in Sources */,
 				C4D74BC31C24CEDC0071AD3E /* InAppProductPurchaseRequest.swift in Sources */,
 				C4D74BC31C24CEDC0071AD3E /* InAppProductPurchaseRequest.swift in Sources */,
 				C4D74BC41C24CEDC0071AD3E /* InAppProductQueryRequest.swift in Sources */,
 				C4D74BC41C24CEDC0071AD3E /* InAppProductQueryRequest.swift in Sources */,

+ 1 - 2
SwiftyStoreKit/InAppReceipt.swift

@@ -53,9 +53,8 @@ internal class InAppReceipt {
      *  - Parameter completion: handler for result
      *  - Parameter completion: handler for result
      */
      */
     class func verify(
     class func verify(
-        urlType: VerifyReceiptURLType = .production,
+		using validator: ReceiptValidator,
         password autoRenewPassword: String? = nil,
         password autoRenewPassword: String? = nil,
-        session: URLSession = URLSession.shared,
         completion: @escaping (VerifyReceiptResult) -> ()) {
         completion: @escaping (VerifyReceiptResult) -> ()) {
 
 
             // If no receipt is present, validation fails.
             // If no receipt is present, validation fails.

+ 3 - 2
SwiftyStoreKit/SwiftyStoreKit.swift

@@ -143,10 +143,11 @@ public class SwiftyStoreKit {
      *  - Parameter completion: handler for result
      *  - Parameter completion: handler for result
      */
      */
     public class func verifyReceipt(
     public class func verifyReceipt(
+		using validator: ReceiptValidator,
         password: String? = nil,
         password: String? = nil,
-        session: URLSession = URLSession.shared,
         completion:@escaping (VerifyReceiptResult) -> ()) {
         completion:@escaping (VerifyReceiptResult) -> ()) {
-        InAppReceipt.verify(urlType: .production, password: password, session: session) { result in
+
+		InAppReceipt.verify(using: validator, password: password) { result in
          
          
             DispatchQueue.main.async {
             DispatchQueue.main.async {
                 completion(result)
                 completion(result)