|
@@ -42,11 +42,11 @@ public class SwiftyStoreKit {
|
|
}
|
|
}
|
|
|
|
|
|
// MARK: private methods
|
|
// MARK: private methods
|
|
- fileprivate func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) {
|
|
|
|
|
|
+ fileprivate func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) -> InAppProductRequest {
|
|
return productsInfoController.retrieveProductsInfo(productIds, completion: completion)
|
|
return productsInfoController.retrieveProductsInfo(productIds, completion: completion)
|
|
}
|
|
}
|
|
|
|
|
|
- fileprivate func purchaseProduct(_ productId: String, quantity: Int = 1, atomically: Bool = true, applicationUsername: String = "", simulatesAskToBuyInSandbox: Bool = false, completion: @escaping ( PurchaseResult) -> Void) {
|
|
|
|
|
|
+ fileprivate func purchaseProduct(_ productId: String, quantity: Int = 1, atomically: Bool = true, applicationUsername: String = "", simulatesAskToBuyInSandbox: Bool = false, completion: @escaping ( PurchaseResult) -> Void) -> InAppProductRequest {
|
|
|
|
|
|
retrieveProductsInfo(Set([productId])) { result -> Void in
|
|
retrieveProductsInfo(Set([productId])) { result -> Void in
|
|
if let product = result.retrievedProducts.first {
|
|
if let product = result.retrievedProducts.first {
|
|
@@ -143,7 +143,8 @@ extension SwiftyStoreKit {
|
|
* - Parameter productIds: The set of product identifiers to retrieve corresponding products for
|
|
* - Parameter productIds: The set of product identifiers to retrieve corresponding products for
|
|
* - Parameter completion: handler for result
|
|
* - Parameter completion: handler for result
|
|
*/
|
|
*/
|
|
- public class func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) {
|
|
|
|
|
|
+ @discardableResult
|
|
|
|
+ public class func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) -> InAppRequest {
|
|
|
|
|
|
return sharedInstance.retrieveProductsInfo(productIds, completion: completion)
|
|
return sharedInstance.retrieveProductsInfo(productIds, completion: completion)
|
|
}
|
|
}
|
|
@@ -156,7 +157,8 @@ extension SwiftyStoreKit {
|
|
* - Parameter applicationUsername: an opaque identifier for the user’s account on your system
|
|
* - Parameter applicationUsername: an opaque identifier for the user’s account on your system
|
|
* - Parameter completion: handler for result
|
|
* - Parameter completion: handler for result
|
|
*/
|
|
*/
|
|
- public class func purchaseProduct(_ productId: String, quantity: Int = 1, atomically: Bool = true, applicationUsername: String = "", simulatesAskToBuyInSandbox: Bool = false, completion: @escaping (PurchaseResult) -> Void) {
|
|
|
|
|
|
+ @discardableResult
|
|
|
|
+ public class func purchaseProduct(_ productId: String, quantity: Int = 1, atomically: Bool = true, applicationUsername: String = "", simulatesAskToBuyInSandbox: Bool = false, completion: @escaping (PurchaseResult) -> Void) -> InAppRequest {
|
|
|
|
|
|
sharedInstance.purchaseProduct(productId, quantity: quantity, atomically: atomically, applicationUsername: applicationUsername, simulatesAskToBuyInSandbox: simulatesAskToBuyInSandbox, completion: completion)
|
|
sharedInstance.purchaseProduct(productId, quantity: quantity, atomically: atomically, applicationUsername: applicationUsername, simulatesAskToBuyInSandbox: simulatesAskToBuyInSandbox, completion: completion)
|
|
}
|
|
}
|
|
@@ -255,7 +257,8 @@ extension SwiftyStoreKit {
|
|
* - Parameter forceRefresh: If true, refreshes the receipt even if one already exists.
|
|
* - Parameter forceRefresh: If true, refreshes the receipt even if one already exists.
|
|
* - Parameter completion: handler for result
|
|
* - Parameter completion: handler for result
|
|
*/
|
|
*/
|
|
- public class func verifyReceipt(using validator: ReceiptValidator, forceRefresh: Bool = false, completion: @escaping (VerifyReceiptResult) -> Void) {
|
|
|
|
|
|
+ @discardableResult
|
|
|
|
+ public class func verifyReceipt(using validator: ReceiptValidator, forceRefresh: Bool = false, completion: @escaping (VerifyReceiptResult) -> Void) -> InAppRequest? {
|
|
|
|
|
|
sharedInstance.receiptVerificator.verifyReceipt(using: validator, forceRefresh: forceRefresh, completion: completion)
|
|
sharedInstance.receiptVerificator.verifyReceipt(using: validator, forceRefresh: forceRefresh, completion: completion)
|
|
}
|
|
}
|
|
@@ -265,7 +268,8 @@ extension SwiftyStoreKit {
|
|
* - Parameter forceRefresh: If true, refreshes the receipt even if one already exists.
|
|
* - Parameter forceRefresh: If true, refreshes the receipt even if one already exists.
|
|
* - Parameter completion: handler for result
|
|
* - Parameter completion: handler for result
|
|
*/
|
|
*/
|
|
- public class func fetchReceipt(forceRefresh: Bool, completion: @escaping (FetchReceiptResult) -> Void) {
|
|
|
|
|
|
+ @discardableResult
|
|
|
|
+ public class func fetchReceipt(forceRefresh: Bool, completion: @escaping (FetchReceiptResult) -> Void) -> InAppRequest? {
|
|
|
|
|
|
sharedInstance.receiptVerificator.fetchReceipt(forceRefresh: forceRefresh, completion: completion)
|
|
sharedInstance.receiptVerificator.fetchReceipt(forceRefresh: forceRefresh, completion: completion)
|
|
}
|
|
}
|