首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序内购买SwiftyStoreKit和AppStore连接版主的麻烦

应用程序内购买SwiftyStoreKit和AppStore连接版主的麻烦
EN

Stack Overflow用户
提问于 2020-11-06 13:57:24
回答 1查看 366关注 0票数 0

我是应用程序内采购和SwiftyStoreKit的新手。

我在我的应用程序中做了一个应用程序内的购买,并把它发送到适度。

我的申请主持人拒绝并写了以下理由:

我们发现你的应用内购买产品在iPhone和iPad上显示了一个或多个bug,而iPad在Wi上运行iOS 14.1。

具体来说,你的应用程序在应用程序的购买没有显示应用的价格。此外,经过进一步的审查,我们发现,您的应用程序不允许用户购买在应用程序购买。

下一步

在您的服务器上验证收据时,您的服务器需要能够处理一个产品签名的应用程序,从Apple的测试环境中获取它的收据。推荐的方法是让生产服务器始终首先根据production验证收据。如果错误代码“生产中使用的沙箱收据”验证失败,则应该根据测试环境进行验证。

没有显示价格可能是因为应用程序收到了答案代码:"skerrordomain code=0“或类似的东西。或者是因为Apple服务器返回了0种产品。

也就是说,当ViewController启动时,应用程序向苹果服务器请求产品的价格,然后将其写到按钮上。

我不知道具体的问题是什么,因为在我的本地设备购买与一个沙箱用户工作。在模拟器中,我得到了一个错误:"skerrordomain code=0“。

下面是一个代码示例:

代码语言:javascript
复制
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和错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-10 11:31:31

通过删除所有产品并创建新产品来修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64715954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档