从 App Store 获取本地化的产品信息
使用 SKProductsRequest
从一组产品标识符字符串中获取本地化产品信息:
import StoreKit
let productIdentifierSet = Set(["yellowSubmarine", "pennyLane"])
let productsRequest = SKProductsRequest(productIdentifiers: productIdentifierSet)
为了处理 productsRequest
中的产品,我们需要为处理响应的请求分配一个委托。委托需要符合 SKProductsRequestDelegate
协议,这意味着它必须继承 NSObject
(即任何 Foundation
对象)并实现 productsRequest
方法:
class PaymentManager: NSObject, SKProductsRequestDelegate {
var products: [SKProduct] = []
func productsRequest(request: SKProductsRequest,
didReceiveResponse response: SKProductsResponse) {
products = response.products
}
}
要启动 productsRequest
,我们将 PaymentManager
指定为 products-request 的委托,并根据请求调用 start()
方法:
let paymentManager = PaymentManager()
productsRequest.delegate = paymentManager
productsRequest.start()
如果请求成功,产品将在 paymentManager.products
中。