Мое приложение отображает запросы, когда пользователь нажимает определенную кнопку c. Я хочу, чтобы были доступны дополнительные пакеты подсказок для покупки нерасходуемых материалов в приложении (щелкните пакет для покупки, затем, если вы приобрели, вы можете использовать ту же кнопку для включения и выключения пакета).
Ниже это весь соответствующий код ...
import UIKit
import QuartzCore
import StoreKit
class ViewController: UIViewController, SKPaymentTransactionObserver {
let productID = "com.domain.app.purchase"
override func viewDidLoad() {
super.viewDidLoad()
SKPaymentQueue.default().add(self)
}
var packsUnlocked = false
@IBAction func selectPack1(_ sender: UIButton) {
if SKPaymentQueue.canMakePayments() {
let paymentRequest = SKMutablePayment()
paymentRequest.productIdentifier = productID
SKPaymentQueue.default().add(paymentRequest)
print("Initiating Transaction")
} else {
print("No Purchased")
}
if packsUnlocked == false {
print("It's locked, ‘Pack 1’ not enabled")
} else {
print(“Utilize Purchase”)
//this is where you place code to use the purchased ‘Pack 1’
}
}
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions{
if transaction.transactionState == .purchased {
packsUnlocked = true
print("Transaction Successful")
} else if transaction.transactionState == .failed {
print("Transaction Failed")
}
}
}
}
Однако всякий раз, когда я запускаю код и нажимаю кнопку, все, что я получаю, это следующие выходные данные в отладчике:
"
Initiating Transaction
It's locked, 'Pack 1' not enabled
Transaction Failed
"
Это мой первое приложение, и я никогда раньше не настраивал тестер песочницы, поэтому я не уверен, проблема в коде или в моей настройке App Store Connect.
Спасибо - я был застрял на этом слишком долго, так что любая помощь БОЛЬШЕ приветствуется.