Следующая функция описывает paymentQueue покупки в приложении (IAP).Когда выбран вариант .purchase, запускается функция 'SKPaymentQueue.default (). FinishTransaction (транзакция)'.Однако вторая функция в этом случае ,actionComplete () не выполняет.
То, что я хочу: сначала необходимо выполнить функцию SKPaymentQueue.default (). FinishTransaction (транзакция), а затем запуститьФункция routComplete ().
Фон:
SKPaymentQueue.default (). finishTransaction (транзакция) - это пустая функция StoreKit, которая завершает транзакцию IAP.
«ActionComplete () »- это моя собственная функция, которая отображает всплывающее окно, в котором пользователь благодарит за покупку.Эта функция работает, но только не в этом сценарии.
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch transaction.transactionState {
case .purchased:
SKPaymentQueue.default().finishTransaction(transaction)
transactionComplete()
break
case .failed:
print("transaction failed.")
break
default:
break
}
}
}
Заранее спасибо!
РЕДАКТИРОВАТЬ:
Поскольку я впервые использовал IAP, я экспериментировал сфункции.Таким образом, оказалось, что у меня была другая копия функции paymentQueue (...) в другом файле, из которого мое приложение читало из-за класса, которому оно принадлежало для использования в качестве наблюдателя в AppDelegate.swift