Get localized product information from the App Store
suggest changeGet localized product information from a set of product identifier strings using SKProductsRequest:
import StoreKit
let productIdentifierSet = Set(["yellowSubmarine", "pennyLane"])
let productsRequest = SKProductsRequest(productIdentifiers: productIdentifierSet)
In order to process the products from the productsRequest, we need to assign a delegate to the request that handles the response. The delegate needs to conform to the SKProductsRequestDelegate protocol, which means that it must inherit from NSObject (i.e. any Foundation object) and implement the productsRequest method:
class PaymentManager: NSObject, SKProductsRequestDelegate {
var products: [SKProduct] = []
func productsRequest(request: SKProductsRequest,
didReceiveResponse response: SKProductsResponse) {
products = response.products
}
}
To initiate the productsRequest we assign PaymentManager as the products-request’s delegate, and call the start() method on the request:
let paymentManager = PaymentManager()
productsRequest.delegate = paymentManager
productsRequest.start()
If the requests succeeds the products will be in paymentManager.products.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents