diff --git a/InAppFw.podspec b/InAppFw.podspec index 7bd447e..de4f09e 100644 --- a/InAppFw.podspec +++ b/InAppFw.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |s| s.name = "InAppFw" s.summary = "In App Purchase Manager framework for iOS" s.requires_arc = true - s.version = "0.9.1" + s.version = "0.9.2" s.license = { :type => "MIT", :file => "LICENSE" } s.author = { "Sandor Gyulai" => "sandor.gyulai@icloud.com" } s.homepage = "https://github.com/sandorgyulai/InAppFramework" diff --git a/InAppFw/InAppFw.swift b/InAppFw/InAppFw.swift index 4ada652..8433946 100644 --- a/InAppFw/InAppFw.swift +++ b/InAppFw/InAppFw.swift @@ -36,7 +36,7 @@ public class InAppFw: NSObject, SKProductsRequestDelegate, SKPaymentTransactionO var purchasedProductIdentifiers = Set() - public var hasValidReceipt = false + private var hasValidReceipt = false public override init() { super.init() @@ -151,14 +151,14 @@ public class InAppFw: NSObject, SKProductsRequestDelegate, SKPaymentTransactionO if let status = jsonResponse["status"] as? Int { if status == 0 { print("Status: VALID") - self.hasValidReceipt = true + hasValidReceipt = true completion(valid: true) } else if status == 21007 { print("Status: CHECK WITH SANDBOX") - self.validateReceipt(true, completion: completion) + validateReceipt(true, completion: completion) } else { print("Status: INVALID") - self.hasValidReceipt = false + hasValidReceipt = false completion(valid: false) } } @@ -202,8 +202,11 @@ public class InAppFw: NSObject, SKProductsRequestDelegate, SKPaymentTransactionO /** Check if the product with identifier is already purchased */ - public func productPurchased(productIdentifier: String) -> Bool { - return purchasedProductIdentifiers.contains(productIdentifier) + public func productPurchased(productIdentifier: String) -> (isPurchased: Bool, hasValidReceipt: Bool) { + + let purchased = purchasedProductIdentifiers.contains(productIdentifier) + return (purchased, hasValidReceipt) + } /** @@ -218,14 +221,14 @@ public class InAppFw: NSObject, SKProductsRequestDelegate, SKPaymentTransactionO private func completeTransaction(transaction: SKPaymentTransaction) { print("Complete Transaction...") - self.provideContentForProductIdentifier(transaction.payment.productIdentifier) + provideContentForProductIdentifier(transaction.payment.productIdentifier) SKPaymentQueue.defaultQueue().finishTransaction(transaction) } private func restoreTransaction(transaction: SKPaymentTransaction) { print("Restore Transaction...") - self.provideContentForProductIdentifier(transaction.originalTransaction!.payment.productIdentifier) + provideContentForProductIdentifier(transaction.originalTransaction!.payment.productIdentifier) SKPaymentQueue.defaultQueue().finishTransaction(transaction) }