Skip to content

Commit

Permalink
Changed productPurchased to retrun a tuple with isPurchased and hasVa…
Browse files Browse the repository at this point in the history
…lidReceipt Bools
  • Loading branch information
Sándor Gyulai committed Oct 31, 2015
1 parent f7676b2 commit 20cd51b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
2 changes: 1 addition & 1 deletion InAppFw.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
19 changes: 11 additions & 8 deletions InAppFw/InAppFw.swift
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class InAppFw: NSObject, SKProductsRequestDelegate, SKPaymentTransactionO

var purchasedProductIdentifiers = Set<String>()

public var hasValidReceipt = false
private var hasValidReceipt = false

public override init() {
super.init()
Expand Down Expand Up @@ -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)
}
}
Expand Down Expand Up @@ -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)

}

/**
Expand All @@ -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)
}

Expand Down

0 comments on commit 20cd51b

Please sign in to comment.