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