Compare commits

..

No commits in common. "main" and "0.0.1" have entirely different histories.
main ... 0.0.1

2 changed files with 25 additions and 25 deletions

View File

@ -3,7 +3,7 @@
Pod::Spec.new do |spec| Pod::Spec.new do |spec|
spec.name = "JXIAPManager" spec.name = "JXIAPManager"
spec.version = "0.0.3" spec.version = "0.0.1"
spec.summary = "JXIAPManager内购小工具" spec.summary = "JXIAPManager内购小工具"
spec.description = <<-DESC spec.description = <<-DESC

View File

@ -1,33 +1,33 @@
import UIKit import UIKit
import StoreKit import StoreKit
public protocol JXIAPManagerDelegate: AnyObject { @objc public protocol JXIAPManagerDelegate {
/// ///
func jx_iapPaySuccess(productId: String, receipt: String, transactionIdentifier: String) @objc optional func jx_iapPaySuccess(productId: String, receipt: String, transactionIdentifier: String)
/// ///
func jx_iapPayFailed(productId: String, code: JXIAPManager.ErrorCode, msg: String?) @objc optional func jx_iapPayFailed(productId: String, code: JXIAPManagerCode, msg: String?)
/// ///
func iapPayRestore(productIds: [String], transactionIds: [String]) @objc optional func iapPayRestore(productIds: [String], transactionIds: [String])
// ///
// @objc optional func iapPayShowHud()
// ///
// @objc optional func iapSysWrong()
// ///
// @objc optional func verifySuccess()
// ///
// @objc optional func verifyFailed()
} }
public extension JXIAPManagerDelegate { @objc public enum JXIAPManagerCode: Int {
func jx_iapPaySuccess(productId: String, receipt: String, transactionIdentifier: String) {}
func jx_iapPayFailed(productId: String, code: JXIAPManager.ErrorCode, msg: String?) {}
func iapPayRestore(productIds: [String], transactionIds: [String]) {}
}
public class JXIAPManager: NSObject {
public enum ErrorCode {
/// ///
case unknown case unknown
/// ///
case cancelled case cancelled
/// ///
case noProduct case noProduct
} }
public class JXIAPManager: NSObject {
public static let manager: JXIAPManager = JXIAPManager() public static let manager: JXIAPManager = JXIAPManager()
@ -91,7 +91,7 @@ extension JXIAPManager: SKProductsRequestDelegate {
DispatchQueue.main.async { DispatchQueue.main.async {
if let productId = self.productId { if let productId = self.productId {
self.productId = nil self.productId = nil
self.delegate?.jx_iapPayFailed(productId: productId, code: .noProduct, msg: nil) self.delegate?.jx_iapPayFailed?(productId: productId, code: .noProduct, msg: nil)
} }
} }
return return
@ -155,7 +155,7 @@ extension JXIAPManager {
guard let productId = self.productId, productId == transaction.payment.productIdentifier else { return } guard let productId = self.productId, productId == transaction.payment.productIdentifier else { return }
self.productId = nil self.productId = nil
self.delegate?.jx_iapPaySuccess(productId: productId, receipt: encodeStr, transactionIdentifier: transactionIdentifier) self.delegate?.jx_iapPaySuccess?(productId: productId, receipt: encodeStr, transactionIdentifier: transactionIdentifier)
} }
@ -166,9 +166,9 @@ extension JXIAPManager {
switch error?.code { switch error?.code {
case SKError.paymentCancelled: case SKError.paymentCancelled:
self.delegate?.jx_iapPayFailed(productId: productId, code: .cancelled, msg: error?.localizedDescription) self.delegate?.jx_iapPayFailed?(productId: productId, code: .cancelled, msg: error?.localizedDescription)
default: default:
self.delegate?.jx_iapPayFailed(productId: productId, code: .unknown, msg: error?.localizedDescription) self.delegate?.jx_iapPayFailed?(productId: productId, code: .unknown, msg: error?.localizedDescription)
} }
} }