应用内购买:无效的产品标识符 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"。
我一直收到这个无效的产品标识符。我的代码好吗?可能是什么问题呢?我编写了代码来打印我的应用程序内购买,但它一直转到这个 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"。