从 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 中。