我有一个应用内购买的应用。我想我做了所有设置。我在XCode上测试了我的应用程序,我没有遇到任何问题。我将我的应用程序发送到AppStore。它与第一个应用内购买功能一起经过审核和批准。我目前在市场上的应用。但我有一个重要的问题。
当我从appStore下载我的应用程序时,应用程序内购买无效。当我通过XCode测试相同版本时没有问题。
例如(我正在使用SwiftyStoreKit):
SwiftyStoreKit.retrieveProductsInfo([bundleID + "." + purchase.rawValue], completion: {
result in
NetworkActivityIndicatorManager.NetworkOperationFinished()
self.myInfo = self.getInfo(result: result)
})
func getInfo (result : RetrieveResults) -> String {
if let product = result.retrievedProducts.first {
let priceString = product.localizedPrice!
return ("\(product.localizedTitle) - \(product.localizedDescription) - \(priceString)")
}
else if let invalidProductID = result.invalidProductIDs.first {
return "Invalid Product \(invalidProductID)"
} else {
let errorString = result.error?.localizedDescription ?? "Unkown Error"
return ("Product Error \(errorString)")
}
}
当我尝试使用XCode时,我会获得有关应用内购买功能的信息。但是,我从AppStore下载的应用程序返回了无效的产品。
注意:已批准应用内购买功能和已清除待售。
总结:应用内购买在测试阶段有效,但在appstore活动应用中无效。
我认为问题不在代码中,但我不明白问题是什么。
如果你能提供帮助,我将非常高兴。谢谢。
答案 0 :(得分:0)
这似乎是iTunes Connect IAP版本延迟问题。我的应用程序在我的IAP同时标记为可以出售,但是停止响应“无效产品”错误花了大约半天时间。如果所有这些都在沙箱中工作,那么耐心是关键!
答案 1 :(得分:-1)
有关productID实现的所有iAP实施教程都是错误的:
使用bundleID + "." + purchase.rawValue
purchase.rawValue