我是应用程序内采购和SwiftyStoreKit的新手。
我在我的应用程序中做了一个应用程序内的购买,并把它发送到适度。
我的申请主持人拒绝并写了以下理由:
我们发现你的应用内购买产品在iPhone和iPad上显示了一个或多个bug,而iPad在Wi上运行iOS 14.1。
具体来说,你的应用程序在应用程序的购买没有显示应用的价格。此外,经过进一步的审查,我们发现,您的应用程序不允许用户购买在应用程序购买。
下一步
在您的服务器上验证收据时,您的服务器需要能够处理一个产品签名的应用程序,从Apple的测试环境中获取它的收据。推荐的方法是让生产服务器始终首先根据production验证收据。如果错误代码“生产中使用的沙箱收据”验证失败,则应该根据测试环境进行验证。
没有显示价格可能是因为应用程序收到了答案代码:"skerrordomain code=0“或类似的东西。或者是因为Apple服务器返回了0种产品。
也就是说,当ViewController启动时,应用程序向苹果服务器请求产品的价格,然后将其写到按钮上。
我不知道具体的问题是什么,因为在我的本地设备购买与一个沙箱用户工作。在模拟器中,我得到了一个错误:"skerrordomain code=0“。
下面是一个代码示例:
enum RegisteredPurchase: String {
case item1 = "com.app.appname.item1"
case item2 = "com.app.appname.item2"
case item3 = "com.app.appname.item3"
}
purchases: [RegisteredPurchase]
var productList: Set<String> = []
for purchase in purchases {
productList.insert(purchase.rawValue)
}
SwiftyStoreKit.retrieveProductsInfo(productList) { result in
var products: Dictionary<RegisteredPurchase, String> = [:]
for product in result.retrievedProducts {
products[RegisteredPurchase(rawValue: product.productIdentifier)!] = product.localizedPrice
}
if (result.error == nil) {
self.setupPrice(products)
}
}结果我得到了retrievedProducts。在本地设备上,所有3种产品都来了,在模拟器中我得到0和错误。
发布于 2020-11-10 11:31:31
通过删除所有产品并创建新产品来修复。
https://stackoverflow.com/questions/64715954
复制相似问题