应用内购买:无效的产品标识符 iOS 9 Swift 2

In-App Purchase: Invalid Product Identifier iOS 9 Swift 2

我一直收到这个无效的产品标识符。我的代码好吗?可能是什么问题呢?我编写了代码来打印我的应用程序内购买,但它一直转到这个 if 语句:

if response.invalidProductIdentifiers.count != 0 {
        print(response)
        print(response.invalidProductIdentifiers.description)
    }

在 Itunes connect 的应用内购买页面中,我已将产品的确切 ID 复制到 xcode,但它仍然不起作用。

我的完整代码:

//global variables
var productsArray: Array<SKProduct!> = []
var productIdentifiers = Set<NSObject>()

func requestProductInfo() {
    if SKPaymentQueue.canMakePayments() {
        //let productIdentifiers = NSSet(array: productIDs)
        let productRequest = SKProductsRequest(productIdentifiers: self.productIdentifiers as! Set<String>)

        productRequest.delegate = self
        productRequest.start()
    }
    else {
        print("Cannot perform In App Purchases.")
    }
}

func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
    if response.invalidProductIdentifiers.count != 0 {
        print("here")
        print(response)
        print(response.invalidProductIdentifiers.description)
        print("here2")
    }

    if response.products.count != 0 {
        for product in response.products {
            productsArray.append(product)
            print(productsArray)
        }
    }
    else {
        print("There are no products.")
    }
}

您的代码很好,我猜您遇到了应用程序包 ID 或设置临时配置文件的问题。

您必须设置 相同的 BundleId 和最新的临时配置文件(证书) 并启用 "In-App purchase"。