应该内购买

2019-11-14  本文已影响0人  纳兰沫
import UIKit
import StoreKit

class TestViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //添加观察者 把收银这个任务委托给这个控制器
        SKPaymentQueue.default().add(self)

        //实现内购
        let pay = SKMutablePayment()
        //选择商品
        pay.productIdentifier = "com.maobao.IAP"
        //加购 + 去收银台排队买单
        SKPaymentQueue.default().add(pay)
        
    }
    
}

extension TestViewController: SKPaymentTransactionObserver {
    
    func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        
        for transaction in transactions {
            
            if transaction.transactionState == .purchased {
                //交易成功
                print("购买成功")
                //修改页面 
                SKPaymentQueue.default().finishTransaction(transaction)
            }else if transaction.transactionState == .purchasing {
                //交易失败
                if let error = transaction.error {
                    print("购买失败,原因是" + "\(error)")
                }
                SKPaymentQueue.default().finishTransaction(transaction)
            }
        }
    }
    

    
}
上一篇 下一篇

猜你喜欢

热点阅读