iOS StoreKit Get localized product information from the App Store

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Insert
> Step 2: And Like the video. BONUS: You can also share it!

Example

Get 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.



Got any iOS Question?