53 lines
1.5 KiB
Swift
53 lines
1.5 KiB
Swift
//
|
||
// MP_IAPManager.swift
|
||
// relax.offline.mp3.music
|
||
//
|
||
// Created by Mr.Zhou on 2024/7/29.
|
||
//
|
||
|
||
import UIKit
|
||
import StoreKit
|
||
///内部购买项目管理器
|
||
class MP_IAPManager: NSObject {
|
||
///单例
|
||
let shared = MP_IAPManager()
|
||
///产品ID(根据开关获取)
|
||
private var productIdentifiers:[String] = ["6587553652","6587553795","6587554369"]
|
||
///产品请求(根据ID获取产品信息)
|
||
private var productsRequest:SKProductsRequest?
|
||
///可用产品组
|
||
private var availableProducts:[SKProduct] = []
|
||
|
||
override init() {
|
||
super.init()
|
||
}
|
||
//执行产品请求
|
||
func requestProducts() {
|
||
//清空可用产品
|
||
availableProducts = []
|
||
//将产品ID转为Set集合
|
||
var setStrings:Set<String> = Set(productIdentifiers)
|
||
//初始化产品请求
|
||
productsRequest = SKProductsRequest(productIdentifiers: setStrings)
|
||
//实现请求代理
|
||
productsRequest?.delegate = self
|
||
//开始执行请求
|
||
productsRequest?.start()
|
||
}
|
||
|
||
}
|
||
//MARK: - SKProductsRequestDelegate
|
||
extension MP_IAPManager: SKProductsRequestDelegate {
|
||
//产品请求回调执行
|
||
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
|
||
//获得可用产品
|
||
availableProducts = response.products
|
||
//判空
|
||
guard availableProducts.isEmpty == false else {
|
||
//无可用产品
|
||
print("无可用产品")
|
||
return
|
||
}
|
||
}
|
||
}
|