[英]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.