В моем приложении 3 покупки в приложении. Я проверил их в среде песочницы, и они работают как положено. Я использую SwiftyStoreKit
инфраструктуру для покупок в приложении.
Для совершения покупки используется следующий код.
func purchase(_ purchase: String, quantity: Int = 1, completion: @escaping ((_ result: PurchaseDetails?)->Void)) {
ProgressIndicatorManager.shared.show()
SwiftyStoreKit.purchaseProduct(purchase) { (result) in
ProgressIndicatorManager.shared.dismiss()
if case .success(let purchase) = result {
// Deliver content from server, then:
if purchase.needsFinishTransaction {
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
completion(purchase)
} else {
completion(nil)
}
if let alert = self.alertForPurchaseResult(result) {
self.showAlert(alert)
}
}
}
После завершения покупки я подтверждаю квитанцию.
/// This function is use for verify receipt
/// - Parameters:
/// - purchase: purchase identifier
func verifyPurchase(_ purchase: String, completion: @escaping (VerifyPurchaseResult) -> Void) {
ProgressIndicatorManager.shared.show()
verifyReceipt { result in
ProgressIndicatorManager.shared.dismiss()
switch result {
case .success(let receipt):
let purchaseResult = SwiftyStoreKit.verifyPurchase(
productId: purchase,
inReceipt: receipt)
self.showAlert(self.alertForVerifyPurchase(purchaseResult, productId: purchase))
completion(purchaseResult)
case .error:
self.showAlert(self.alertForVerifyReceipt(result))
}
}
}
В песочнице все отлично работает. Тем не менее, группа проверки Apple сообщила, что они получают ошибку, показанную на прикрепленном скриншоте ![error screenshot](https://i.stack.imgur.com/FCbM7.png)