Search code examples
iosswiftnsset

cannot invoke initializer for type SKproductsRequest with an argument type (productIdentifiers:Set<NSObject>)


Since Swift 2 im getting

cannot invoke initializer for type SKproductsRequest with an argument type (productIdentifiers:Set)

For in app purchase identifiers in my NSSet

enter image description here

if(SKPaymentQueue.canMakePayments()) {

        let productID:NSSet = NSSet(objects:
            "com.someurl.monthlyAutoRenewable",
            "com.someurl.annualAutoRenewable")

        let request: SKProductsRequest = SKProductsRequest(productIdentifiers: productID as Set<NSObject>)
        request.delegate = self
        request.start()
    }
    else {


    }

Solution

  • Replacing

    let request: SKProductsRequest = SKProductsRequest(productIdentifiers: productID as Set<NSObject>)

    With

    let request: SKProductsRequest = SKProductsRequest(productIdentifiers: productID as! Set<String>)

    Fixes it