我创建了一个带有包标识符的应用
com.myapp
现在我添加了两个In App Purchase项目.以下是产品ID
com.myapp.product1
com.myapp.product2
我使用以下代码加载产品列表
let request = SKProductsRequest(productIdentifiers: Set(remainingIds)) request.delegate = self loadProductsRequests.append(LoadProductsRequestInfo(request: request,completion: completion)) request.start()
代码工作正常,如果我使用其他项目的产品&捆绑ID.但是当我尝试我的项目时,它无法加载产品列表
似乎问题是由于bundle标识符的结构.请帮助我.
解决方法
您的代码似乎适合请求产品.
确保您已在应用内购买类别下的itunesconnect应用程序中添加了包含捆绑ID和其他所需详细信息的产品.
还有一件事 – 在iTunes连接上填写“协议税和银行业务”下的表格之前,Apple不允许从应用程序中接收产品列表.
以下是接收可能对您有帮助的产品列表的代码.
func productsRequest (_ request: SKProductsRequest,didReceive response: SKProductsResponse) { let count : Int = response.products.count if (count>0) { var validProducts = response.products var validProduct: SKProduct = response.products[0] as SKProduct if (validProduct.productIdentifier == self.product_id) { print(validProduct.localizedTitle) print(validProduct.localizedDescription) print(validProduct.price) buyProduct(product: validProduct); } else { print(validProduct.productIdentifier) } } else { print("nothing") } }
这里product_id =“com.myapp.product1”或“com.myapp.product2”.
此外,还可以从功能中进行应用内购买
可能会有助于解决您的问题.