簡體   English   中英

SwiftyStoreKit 和 AppStore Connect 版主的應用內購買問題

[英]In-app purchases trouble with SwiftyStoreKit and AppStore Connect moderator

我是應用內購買和 SwiftyStoreKit 的新手。

我在我的應用程序中進行了應用程序內購買並將其發送以進行審核。

我的申請版主拒絕了並寫下了原因:

我們發現,在通過 Wi-Fi 運行 iOS 14.1 的 iPhone 和 iPad 上查看時,您的應用內購買產品存在一個或多個錯誤。

具體來說,您應用的應用內購買不會顯示應用的價格。 此外,經過進一步審查,我們發現您的應用不允許用戶購買應用內購買。

下一步

在您的服務器上驗證收據時,您的服務器需要能夠處理生產簽名的應用程序從 Apple 的測試環境中獲取其收據。 推薦的方法是讓您的生產服務器始終首先針對生產 App Store 驗證收據。 如果驗證失敗並顯示錯誤代碼“生產中使用的沙盒收據”,您應該改為針對測試環境進行驗證。

價格沒有顯示可能是因為應用程序收到了應答代碼:“skerrordomain code=0”或類似的東西。 或者因為蘋果服務器返回了 0 個產品。

即當ViewController啟動時,app向Apple服務器請求產品的價格,然后將其寫到按鈕上。

我不知道到底是什么問題,因為在我的本地設備上購買的是沙盒用戶。 在模擬器中,我收到一個錯誤:“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)
    }
    
}

結果我得到了檢索產品。 在本地設備上,所有 3 個產品都出現了,在模擬器中我得到 0 和錯誤。

通過刪除所有產品並創建新產品來修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM