Я использую SwiftyStoreKit для обработки подписок в моем приложении. Однако единственное, что не работает, это выкуп промокодов. Я предполагаю, что функция восстановления будет работать, но это не так. Вот как это выглядит:
@IBAction func restorePurchases(_ sender: Any) {
guard isConnectedToNetwork() else { return }
guard GlobalConstants.isSubscribed else {
showAlertNothingToRestore()
return
}
SwiftyStoreKit.restorePurchases(atomically: false) { results in
if results.restoreFailedPurchases.count > 0 {
log("Restore Failed: \(results.restoreFailedPurchases)")
} else if results.restoredPurchases.count > 0 {
for purchase in results.restoredPurchases where purchase.needsFinishTransaction {
// fetch content from your server, then:
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
log("Restore Success: \(results.restoredPurchases)")
let when = DispatchTime.now() + .seconds(1)
DispatchQueue.main.asyncAfter(deadline: when) {
self.becomeMember()
}
} else {
showAlertNothingToRestore()
}
}
}
В результате появляется сообщение «Ничего не восстанавливать», и промо-коды не работают. Как я могу изменить этот код, чтобы он работал?